#include"dao_gsl_others.h"

#ifdef __cplusplus
extern "C"{
#endif

/*  gsl_chebyshev.h */


static void dao_gsl_cheb_series_GETF_c( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_cheb_series_GETF_order( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_cheb_series_SETF_order( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_cheb_series_GETF_a( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_cheb_series_SETF_a( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_cheb_series_GETF_b( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_cheb_series_SETF_b( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_cheb_series_GETF_order_sp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_cheb_series_SETF_order_sp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_cheb_series_GETF_f( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_cheb_series_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_cheb_series_gsl_cheb_series( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_cheb_series_Meths[] = 
{
  { dao_gsl_cheb_series_GETF_c, ".c( self : gsl_cheb_series )=>double" },
  { dao_gsl_cheb_series_GETF_order, ".order( self : gsl_cheb_series )=>int" },
  { dao_gsl_cheb_series_SETF_order, ".order=( self : gsl_cheb_series, order : int )" },
  { dao_gsl_cheb_series_GETF_a, ".a( self : gsl_cheb_series )=>double" },
  { dao_gsl_cheb_series_SETF_a, ".a=( self : gsl_cheb_series, a : double )" },
  { dao_gsl_cheb_series_GETF_b, ".b( self : gsl_cheb_series )=>double" },
  { dao_gsl_cheb_series_SETF_b, ".b=( self : gsl_cheb_series, b : double )" },
  { dao_gsl_cheb_series_GETF_order_sp, ".order_sp( self : gsl_cheb_series )=>int" },
  { dao_gsl_cheb_series_SETF_order_sp, ".order_sp=( self : gsl_cheb_series, order_sp : int )" },
  { dao_gsl_cheb_series_GETF_f, ".f( self : gsl_cheb_series )=>double" },
  { dao_gsl_cheb_series_gsl_cheb_series, "gsl_cheb_series(  )=>gsl_cheb_series" },
  { NULL, NULL }
};
static void Dao_gsl_cheb_series_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_cheb_series_Typer = 
{ "gsl_cheb_series", NULL, 
  dao_gsl_cheb_series_Nums,
  dao_gsl_cheb_series_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_cheb_series_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_cheb_series_Typer = & gsl_cheb_series_Typer;
static void dao_gsl_cheb_series_GETF_c( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series *self = (gsl_cheb_series*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_cheb_series_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->c, 0 );
}
static void dao_gsl_cheb_series_GETF_order( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series *self = (gsl_cheb_series*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_cheb_series_Typer);
  DaoContext_PutInteger( _ctx, (int) self->order );
}
static void dao_gsl_cheb_series_SETF_order( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series *self = (gsl_cheb_series*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_cheb_series_Typer);
  self->order = (size_t) _p[1]->v.i;
}
static void dao_gsl_cheb_series_GETF_a( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series *self = (gsl_cheb_series*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_cheb_series_Typer);
  DaoContext_PutDouble( _ctx, (double) self->a );
}
static void dao_gsl_cheb_series_SETF_a( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series *self = (gsl_cheb_series*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_cheb_series_Typer);
  self->a = (double) _p[1]->v.d;
}
static void dao_gsl_cheb_series_GETF_b( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series *self = (gsl_cheb_series*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_cheb_series_Typer);
  DaoContext_PutDouble( _ctx, (double) self->b );
}
static void dao_gsl_cheb_series_SETF_b( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series *self = (gsl_cheb_series*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_cheb_series_Typer);
  self->b = (double) _p[1]->v.d;
}
static void dao_gsl_cheb_series_GETF_order_sp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series *self = (gsl_cheb_series*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_cheb_series_Typer);
  DaoContext_PutInteger( _ctx, (int) self->order_sp );
}
static void dao_gsl_cheb_series_SETF_order_sp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series *self = (gsl_cheb_series*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_cheb_series_Typer);
  self->order_sp = (size_t) _p[1]->v.i;
}
static void dao_gsl_cheb_series_GETF_f( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series *self = (gsl_cheb_series*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_cheb_series_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->f, 0 );
}
static void dao_gsl_cheb_series_gsl_cheb_series( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_cheb_series *self = Dao_gsl_cheb_series_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_cheb_series_Typer );
}

/*  gsl_dht.h */


static void dao_gsl_dht_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_dht_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_dht_GETF_nu( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_dht_SETF_nu( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_dht_GETF_xmax( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_dht_SETF_xmax( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_dht_GETF_kmax( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_dht_SETF_kmax( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_dht_GETF_j( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_dht_GETF_Jjj( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_dht_GETF_J2( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_dht_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_dht_gsl_dht( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_dht_Meths[] = 
{
  { dao_gsl_dht_GETF_size, ".size( self : gsl_dht )=>int" },
  { dao_gsl_dht_SETF_size, ".size=( self : gsl_dht, size : int )" },
  { dao_gsl_dht_GETF_nu, ".nu( self : gsl_dht )=>double" },
  { dao_gsl_dht_SETF_nu, ".nu=( self : gsl_dht, nu : double )" },
  { dao_gsl_dht_GETF_xmax, ".xmax( self : gsl_dht )=>double" },
  { dao_gsl_dht_SETF_xmax, ".xmax=( self : gsl_dht, xmax : double )" },
  { dao_gsl_dht_GETF_kmax, ".kmax( self : gsl_dht )=>double" },
  { dao_gsl_dht_SETF_kmax, ".kmax=( self : gsl_dht, kmax : double )" },
  { dao_gsl_dht_GETF_j, ".j( self : gsl_dht )=>double" },
  { dao_gsl_dht_GETF_Jjj, ".Jjj( self : gsl_dht )=>double" },
  { dao_gsl_dht_GETF_J2, ".J2( self : gsl_dht )=>double" },
  { dao_gsl_dht_gsl_dht, "gsl_dht(  )=>gsl_dht" },
  { NULL, NULL }
};
static void Dao_gsl_dht_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_dht_Typer = 
{ "gsl_dht", NULL, 
  dao_gsl_dht_Nums,
  dao_gsl_dht_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_dht_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_dht_Typer = & gsl_dht_Typer;
static void dao_gsl_dht_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht *self = (gsl_dht*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_dht_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_dht_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht *self = (gsl_dht*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_dht_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_dht_GETF_nu( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht *self = (gsl_dht*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_dht_Typer);
  DaoContext_PutDouble( _ctx, (double) self->nu );
}
static void dao_gsl_dht_SETF_nu( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht *self = (gsl_dht*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_dht_Typer);
  self->nu = (double) _p[1]->v.d;
}
static void dao_gsl_dht_GETF_xmax( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht *self = (gsl_dht*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_dht_Typer);
  DaoContext_PutDouble( _ctx, (double) self->xmax );
}
static void dao_gsl_dht_SETF_xmax( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht *self = (gsl_dht*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_dht_Typer);
  self->xmax = (double) _p[1]->v.d;
}
static void dao_gsl_dht_GETF_kmax( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht *self = (gsl_dht*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_dht_Typer);
  DaoContext_PutDouble( _ctx, (double) self->kmax );
}
static void dao_gsl_dht_SETF_kmax( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht *self = (gsl_dht*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_dht_Typer);
  self->kmax = (double) _p[1]->v.d;
}
static void dao_gsl_dht_GETF_j( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht *self = (gsl_dht*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_dht_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->j, 0 );
}
static void dao_gsl_dht_GETF_Jjj( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht *self = (gsl_dht*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_dht_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->Jjj, 0 );
}
static void dao_gsl_dht_GETF_J2( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht *self = (gsl_dht*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_dht_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->J2, 0 );
}
static void dao_gsl_dht_gsl_dht( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_dht *self = Dao_gsl_dht_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_dht_Typer );
}

/*  gsl_eigen.h */


static void dao_gsl_eigen_francis_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_francis_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_francis_workspace_GETF_max_iterations( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_francis_workspace_SETF_max_iterations( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_francis_workspace_GETF_n_iter( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_francis_workspace_SETF_n_iter( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_francis_workspace_GETF_n_evals( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_francis_workspace_SETF_n_evals( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_francis_workspace_GETF_compute_t( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_francis_workspace_SETF_compute_t( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_francis_workspace_GETF_H( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_francis_workspace_GETF_Z( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_eigen_francis_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_eigen_francis_workspace_gsl_eigen_francis_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_eigen_francis_workspace_Meths[] = 
{
  { dao_gsl_eigen_francis_workspace_GETF_size, ".size( self : gsl_eigen_francis_workspace )=>int" },
  { dao_gsl_eigen_francis_workspace_SETF_size, ".size=( self : gsl_eigen_francis_workspace, size : int )" },
  { dao_gsl_eigen_francis_workspace_GETF_max_iterations, ".max_iterations( self : gsl_eigen_francis_workspace )=>int" },
  { dao_gsl_eigen_francis_workspace_SETF_max_iterations, ".max_iterations=( self : gsl_eigen_francis_workspace, max_iterations : int )" },
  { dao_gsl_eigen_francis_workspace_GETF_n_iter, ".n_iter( self : gsl_eigen_francis_workspace )=>int" },
  { dao_gsl_eigen_francis_workspace_SETF_n_iter, ".n_iter=( self : gsl_eigen_francis_workspace, n_iter : int )" },
  { dao_gsl_eigen_francis_workspace_GETF_n_evals, ".n_evals( self : gsl_eigen_francis_workspace )=>int" },
  { dao_gsl_eigen_francis_workspace_SETF_n_evals, ".n_evals=( self : gsl_eigen_francis_workspace, n_evals : int )" },
  { dao_gsl_eigen_francis_workspace_GETF_compute_t, ".compute_t( self : gsl_eigen_francis_workspace )=>int" },
  { dao_gsl_eigen_francis_workspace_SETF_compute_t, ".compute_t=( self : gsl_eigen_francis_workspace, compute_t : int )" },
  { dao_gsl_eigen_francis_workspace_GETF_H, ".H( self : gsl_eigen_francis_workspace )=>gsl_matrix" },
  { dao_gsl_eigen_francis_workspace_GETF_Z, ".Z( self : gsl_eigen_francis_workspace )=>gsl_matrix" },
  { dao_gsl_eigen_francis_workspace_gsl_eigen_francis_workspace, "gsl_eigen_francis_workspace(  )=>gsl_eigen_francis_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_eigen_francis_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_eigen_francis_workspace_Typer = 
{ "gsl_eigen_francis_workspace", NULL, 
  dao_gsl_eigen_francis_workspace_Nums,
  dao_gsl_eigen_francis_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_eigen_francis_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_eigen_francis_workspace_Typer = & gsl_eigen_francis_workspace_Typer;
static void dao_gsl_eigen_francis_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_francis_workspace *self = (gsl_eigen_francis_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_francis_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_eigen_francis_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_francis_workspace *self = (gsl_eigen_francis_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_francis_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_francis_workspace_GETF_max_iterations( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_francis_workspace *self = (gsl_eigen_francis_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_francis_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->max_iterations );
}
static void dao_gsl_eigen_francis_workspace_SETF_max_iterations( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_francis_workspace *self = (gsl_eigen_francis_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_francis_workspace_Typer);
  self->max_iterations = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_francis_workspace_GETF_n_iter( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_francis_workspace *self = (gsl_eigen_francis_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_francis_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n_iter );
}
static void dao_gsl_eigen_francis_workspace_SETF_n_iter( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_francis_workspace *self = (gsl_eigen_francis_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_francis_workspace_Typer);
  self->n_iter = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_francis_workspace_GETF_n_evals( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_francis_workspace *self = (gsl_eigen_francis_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_francis_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n_evals );
}
static void dao_gsl_eigen_francis_workspace_SETF_n_evals( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_francis_workspace *self = (gsl_eigen_francis_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_francis_workspace_Typer);
  self->n_evals = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_francis_workspace_GETF_compute_t( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_francis_workspace *self = (gsl_eigen_francis_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_francis_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->compute_t );
}
static void dao_gsl_eigen_francis_workspace_SETF_compute_t( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_francis_workspace *self = (gsl_eigen_francis_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_francis_workspace_Typer);
  self->compute_t = (int) _p[1]->v.i;
}
static void dao_gsl_eigen_francis_workspace_GETF_H( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_francis_workspace *self = (gsl_eigen_francis_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_francis_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->H, dao_gsl_matrix_Typer );
}
static void dao_gsl_eigen_francis_workspace_GETF_Z( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_francis_workspace *self = (gsl_eigen_francis_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_francis_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->Z, dao_gsl_matrix_Typer );
}
static void dao_gsl_eigen_francis_workspace_gsl_eigen_francis_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_eigen_francis_workspace *self = Dao_gsl_eigen_francis_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_eigen_francis_workspace_Typer );
}

/*  gsl_eigen.h */


static void dao_gsl_eigen_gen_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_work( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_n_evals( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_SETF_n_evals( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_max_iterations( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_SETF_max_iterations( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_n_iter( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_SETF_n_iter( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_eshift( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_SETF_eshift( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_needtop( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_SETF_needtop( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_atol( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_SETF_atol( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_btol( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_SETF_btol( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_ascale( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_SETF_ascale( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_bscale( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_SETF_bscale( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_H( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_R( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_compute_s( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_SETF_compute_s( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_compute_t( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_SETF_compute_t( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gen_workspace_GETF_Z( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_eigen_gen_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_eigen_gen_workspace_gsl_eigen_gen_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_eigen_gen_workspace_Meths[] = 
{
  { dao_gsl_eigen_gen_workspace_GETF_size, ".size( self : gsl_eigen_gen_workspace )=>int" },
  { dao_gsl_eigen_gen_workspace_SETF_size, ".size=( self : gsl_eigen_gen_workspace, size : int )" },
  { dao_gsl_eigen_gen_workspace_GETF_work, ".work( self : gsl_eigen_gen_workspace )=>gsl_vector" },
  { dao_gsl_eigen_gen_workspace_GETF_n_evals, ".n_evals( self : gsl_eigen_gen_workspace )=>int" },
  { dao_gsl_eigen_gen_workspace_SETF_n_evals, ".n_evals=( self : gsl_eigen_gen_workspace, n_evals : int )" },
  { dao_gsl_eigen_gen_workspace_GETF_max_iterations, ".max_iterations( self : gsl_eigen_gen_workspace )=>int" },
  { dao_gsl_eigen_gen_workspace_SETF_max_iterations, ".max_iterations=( self : gsl_eigen_gen_workspace, max_iterations : int )" },
  { dao_gsl_eigen_gen_workspace_GETF_n_iter, ".n_iter( self : gsl_eigen_gen_workspace )=>int" },
  { dao_gsl_eigen_gen_workspace_SETF_n_iter, ".n_iter=( self : gsl_eigen_gen_workspace, n_iter : int )" },
  { dao_gsl_eigen_gen_workspace_GETF_eshift, ".eshift( self : gsl_eigen_gen_workspace )=>double" },
  { dao_gsl_eigen_gen_workspace_SETF_eshift, ".eshift=( self : gsl_eigen_gen_workspace, eshift : double )" },
  { dao_gsl_eigen_gen_workspace_GETF_needtop, ".needtop( self : gsl_eigen_gen_workspace )=>int" },
  { dao_gsl_eigen_gen_workspace_SETF_needtop, ".needtop=( self : gsl_eigen_gen_workspace, needtop : int )" },
  { dao_gsl_eigen_gen_workspace_GETF_atol, ".atol( self : gsl_eigen_gen_workspace )=>double" },
  { dao_gsl_eigen_gen_workspace_SETF_atol, ".atol=( self : gsl_eigen_gen_workspace, atol : double )" },
  { dao_gsl_eigen_gen_workspace_GETF_btol, ".btol( self : gsl_eigen_gen_workspace )=>double" },
  { dao_gsl_eigen_gen_workspace_SETF_btol, ".btol=( self : gsl_eigen_gen_workspace, btol : double )" },
  { dao_gsl_eigen_gen_workspace_GETF_ascale, ".ascale( self : gsl_eigen_gen_workspace )=>double" },
  { dao_gsl_eigen_gen_workspace_SETF_ascale, ".ascale=( self : gsl_eigen_gen_workspace, ascale : double )" },
  { dao_gsl_eigen_gen_workspace_GETF_bscale, ".bscale( self : gsl_eigen_gen_workspace )=>double" },
  { dao_gsl_eigen_gen_workspace_SETF_bscale, ".bscale=( self : gsl_eigen_gen_workspace, bscale : double )" },
  { dao_gsl_eigen_gen_workspace_GETF_H, ".H( self : gsl_eigen_gen_workspace )=>gsl_matrix" },
  { dao_gsl_eigen_gen_workspace_GETF_R, ".R( self : gsl_eigen_gen_workspace )=>gsl_matrix" },
  { dao_gsl_eigen_gen_workspace_GETF_compute_s, ".compute_s( self : gsl_eigen_gen_workspace )=>int" },
  { dao_gsl_eigen_gen_workspace_SETF_compute_s, ".compute_s=( self : gsl_eigen_gen_workspace, compute_s : int )" },
  { dao_gsl_eigen_gen_workspace_GETF_compute_t, ".compute_t( self : gsl_eigen_gen_workspace )=>int" },
  { dao_gsl_eigen_gen_workspace_SETF_compute_t, ".compute_t=( self : gsl_eigen_gen_workspace, compute_t : int )" },
  { dao_gsl_eigen_gen_workspace_GETF_Q, ".Q( self : gsl_eigen_gen_workspace )=>gsl_matrix" },
  { dao_gsl_eigen_gen_workspace_GETF_Z, ".Z( self : gsl_eigen_gen_workspace )=>gsl_matrix" },
  { dao_gsl_eigen_gen_workspace_gsl_eigen_gen_workspace, "gsl_eigen_gen_workspace(  )=>gsl_eigen_gen_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_eigen_gen_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_eigen_gen_workspace_Typer = 
{ "gsl_eigen_gen_workspace", NULL, 
  dao_gsl_eigen_gen_workspace_Nums,
  dao_gsl_eigen_gen_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_eigen_gen_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_eigen_gen_workspace_Typer = & gsl_eigen_gen_workspace_Typer;
static void dao_gsl_eigen_gen_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_eigen_gen_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_gen_workspace_GETF_work( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->work, dao_gsl_vector_Typer );
}
static void dao_gsl_eigen_gen_workspace_GETF_n_evals( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n_evals );
}
static void dao_gsl_eigen_gen_workspace_SETF_n_evals( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  self->n_evals = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_gen_workspace_GETF_max_iterations( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->max_iterations );
}
static void dao_gsl_eigen_gen_workspace_SETF_max_iterations( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  self->max_iterations = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_gen_workspace_GETF_n_iter( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n_iter );
}
static void dao_gsl_eigen_gen_workspace_SETF_n_iter( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  self->n_iter = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_gen_workspace_GETF_eshift( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_PutDouble( _ctx, (double) self->eshift );
}
static void dao_gsl_eigen_gen_workspace_SETF_eshift( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  self->eshift = (double) _p[1]->v.d;
}
static void dao_gsl_eigen_gen_workspace_GETF_needtop( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->needtop );
}
static void dao_gsl_eigen_gen_workspace_SETF_needtop( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  self->needtop = (int) _p[1]->v.i;
}
static void dao_gsl_eigen_gen_workspace_GETF_atol( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_PutDouble( _ctx, (double) self->atol );
}
static void dao_gsl_eigen_gen_workspace_SETF_atol( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  self->atol = (double) _p[1]->v.d;
}
static void dao_gsl_eigen_gen_workspace_GETF_btol( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_PutDouble( _ctx, (double) self->btol );
}
static void dao_gsl_eigen_gen_workspace_SETF_btol( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  self->btol = (double) _p[1]->v.d;
}
static void dao_gsl_eigen_gen_workspace_GETF_ascale( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_PutDouble( _ctx, (double) self->ascale );
}
static void dao_gsl_eigen_gen_workspace_SETF_ascale( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  self->ascale = (double) _p[1]->v.d;
}
static void dao_gsl_eigen_gen_workspace_GETF_bscale( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_PutDouble( _ctx, (double) self->bscale );
}
static void dao_gsl_eigen_gen_workspace_SETF_bscale( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  self->bscale = (double) _p[1]->v.d;
}
static void dao_gsl_eigen_gen_workspace_GETF_H( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->H, dao_gsl_matrix_Typer );
}
static void dao_gsl_eigen_gen_workspace_GETF_R( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->R, dao_gsl_matrix_Typer );
}
static void dao_gsl_eigen_gen_workspace_GETF_compute_s( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->compute_s );
}
static void dao_gsl_eigen_gen_workspace_SETF_compute_s( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  self->compute_s = (int) _p[1]->v.i;
}
static void dao_gsl_eigen_gen_workspace_GETF_compute_t( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->compute_t );
}
static void dao_gsl_eigen_gen_workspace_SETF_compute_t( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  self->compute_t = (int) _p[1]->v.i;
}
static void dao_gsl_eigen_gen_workspace_GETF_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->Q, dao_gsl_matrix_Typer );
}
static void dao_gsl_eigen_gen_workspace_GETF_Z( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace *self = (gsl_eigen_gen_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gen_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->Z, dao_gsl_matrix_Typer );
}
static void dao_gsl_eigen_gen_workspace_gsl_eigen_gen_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_eigen_gen_workspace *self = Dao_gsl_eigen_gen_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_eigen_gen_workspace_Typer );
}

/*  gsl_eigen.h */


static void dao_gsl_eigen_genherm_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_genherm_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_genherm_workspace_GETF_herm_workspace_p( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_eigen_genherm_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_eigen_genherm_workspace_gsl_eigen_genherm_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_eigen_genherm_workspace_Meths[] = 
{
  { dao_gsl_eigen_genherm_workspace_GETF_size, ".size( self : gsl_eigen_genherm_workspace )=>int" },
  { dao_gsl_eigen_genherm_workspace_SETF_size, ".size=( self : gsl_eigen_genherm_workspace, size : int )" },
  { dao_gsl_eigen_genherm_workspace_GETF_herm_workspace_p, ".herm_workspace_p( self : gsl_eigen_genherm_workspace )=>gsl_eigen_herm_workspace" },
  { dao_gsl_eigen_genherm_workspace_gsl_eigen_genherm_workspace, "gsl_eigen_genherm_workspace(  )=>gsl_eigen_genherm_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_eigen_genherm_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_eigen_genherm_workspace_Typer = 
{ "gsl_eigen_genherm_workspace", NULL, 
  dao_gsl_eigen_genherm_workspace_Nums,
  dao_gsl_eigen_genherm_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_eigen_genherm_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_eigen_genherm_workspace_Typer = & gsl_eigen_genherm_workspace_Typer;
static void dao_gsl_eigen_genherm_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genherm_workspace *self = (gsl_eigen_genherm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genherm_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_eigen_genherm_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genherm_workspace *self = (gsl_eigen_genherm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genherm_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_genherm_workspace_GETF_herm_workspace_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genherm_workspace *self = (gsl_eigen_genherm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genherm_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->herm_workspace_p, dao_gsl_eigen_herm_workspace_Typer );
}
static void dao_gsl_eigen_genherm_workspace_gsl_eigen_genherm_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_eigen_genherm_workspace *self = Dao_gsl_eigen_genherm_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_eigen_genherm_workspace_Typer );
}

/*  gsl_eigen.h */


static void dao_gsl_eigen_genhermv_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_genhermv_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_genhermv_workspace_GETF_hermv_workspace_p( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_eigen_genhermv_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_eigen_genhermv_workspace_gsl_eigen_genhermv_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_eigen_genhermv_workspace_Meths[] = 
{
  { dao_gsl_eigen_genhermv_workspace_GETF_size, ".size( self : gsl_eigen_genhermv_workspace )=>int" },
  { dao_gsl_eigen_genhermv_workspace_SETF_size, ".size=( self : gsl_eigen_genhermv_workspace, size : int )" },
  { dao_gsl_eigen_genhermv_workspace_GETF_hermv_workspace_p, ".hermv_workspace_p( self : gsl_eigen_genhermv_workspace )=>gsl_eigen_hermv_workspace" },
  { dao_gsl_eigen_genhermv_workspace_gsl_eigen_genhermv_workspace, "gsl_eigen_genhermv_workspace(  )=>gsl_eigen_genhermv_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_eigen_genhermv_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_eigen_genhermv_workspace_Typer = 
{ "gsl_eigen_genhermv_workspace", NULL, 
  dao_gsl_eigen_genhermv_workspace_Nums,
  dao_gsl_eigen_genhermv_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_eigen_genhermv_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_eigen_genhermv_workspace_Typer = & gsl_eigen_genhermv_workspace_Typer;
static void dao_gsl_eigen_genhermv_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genhermv_workspace *self = (gsl_eigen_genhermv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genhermv_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_eigen_genhermv_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genhermv_workspace *self = (gsl_eigen_genhermv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genhermv_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_genhermv_workspace_GETF_hermv_workspace_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genhermv_workspace *self = (gsl_eigen_genhermv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genhermv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->hermv_workspace_p, dao_gsl_eigen_hermv_workspace_Typer );
}
static void dao_gsl_eigen_genhermv_workspace_gsl_eigen_genhermv_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_eigen_genhermv_workspace *self = Dao_gsl_eigen_genhermv_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_eigen_genhermv_workspace_Typer );
}

/*  gsl_eigen.h */


static void dao_gsl_eigen_gensymm_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gensymm_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gensymm_workspace_GETF_symm_workspace_p( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_eigen_gensymm_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_eigen_gensymm_workspace_gsl_eigen_gensymm_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_eigen_gensymm_workspace_Meths[] = 
{
  { dao_gsl_eigen_gensymm_workspace_GETF_size, ".size( self : gsl_eigen_gensymm_workspace )=>int" },
  { dao_gsl_eigen_gensymm_workspace_SETF_size, ".size=( self : gsl_eigen_gensymm_workspace, size : int )" },
  { dao_gsl_eigen_gensymm_workspace_GETF_symm_workspace_p, ".symm_workspace_p( self : gsl_eigen_gensymm_workspace )=>gsl_eigen_symm_workspace" },
  { dao_gsl_eigen_gensymm_workspace_gsl_eigen_gensymm_workspace, "gsl_eigen_gensymm_workspace(  )=>gsl_eigen_gensymm_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_eigen_gensymm_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_eigen_gensymm_workspace_Typer = 
{ "gsl_eigen_gensymm_workspace", NULL, 
  dao_gsl_eigen_gensymm_workspace_Nums,
  dao_gsl_eigen_gensymm_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_eigen_gensymm_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_eigen_gensymm_workspace_Typer = & gsl_eigen_gensymm_workspace_Typer;
static void dao_gsl_eigen_gensymm_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gensymm_workspace *self = (gsl_eigen_gensymm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gensymm_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_eigen_gensymm_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gensymm_workspace *self = (gsl_eigen_gensymm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gensymm_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_gensymm_workspace_GETF_symm_workspace_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gensymm_workspace *self = (gsl_eigen_gensymm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gensymm_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->symm_workspace_p, dao_gsl_eigen_symm_workspace_Typer );
}
static void dao_gsl_eigen_gensymm_workspace_gsl_eigen_gensymm_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_eigen_gensymm_workspace *self = Dao_gsl_eigen_gensymm_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_eigen_gensymm_workspace_Typer );
}

/*  gsl_eigen.h */


static void dao_gsl_eigen_gensymmv_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gensymmv_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_gensymmv_workspace_GETF_symmv_workspace_p( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_eigen_gensymmv_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_eigen_gensymmv_workspace_gsl_eigen_gensymmv_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_eigen_gensymmv_workspace_Meths[] = 
{
  { dao_gsl_eigen_gensymmv_workspace_GETF_size, ".size( self : gsl_eigen_gensymmv_workspace )=>int" },
  { dao_gsl_eigen_gensymmv_workspace_SETF_size, ".size=( self : gsl_eigen_gensymmv_workspace, size : int )" },
  { dao_gsl_eigen_gensymmv_workspace_GETF_symmv_workspace_p, ".symmv_workspace_p( self : gsl_eigen_gensymmv_workspace )=>gsl_eigen_symmv_workspace" },
  { dao_gsl_eigen_gensymmv_workspace_gsl_eigen_gensymmv_workspace, "gsl_eigen_gensymmv_workspace(  )=>gsl_eigen_gensymmv_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_eigen_gensymmv_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_eigen_gensymmv_workspace_Typer = 
{ "gsl_eigen_gensymmv_workspace", NULL, 
  dao_gsl_eigen_gensymmv_workspace_Nums,
  dao_gsl_eigen_gensymmv_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_eigen_gensymmv_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_eigen_gensymmv_workspace_Typer = & gsl_eigen_gensymmv_workspace_Typer;
static void dao_gsl_eigen_gensymmv_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gensymmv_workspace *self = (gsl_eigen_gensymmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gensymmv_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_eigen_gensymmv_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gensymmv_workspace *self = (gsl_eigen_gensymmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gensymmv_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_gensymmv_workspace_GETF_symmv_workspace_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gensymmv_workspace *self = (gsl_eigen_gensymmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_gensymmv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->symmv_workspace_p, dao_gsl_eigen_symmv_workspace_Typer );
}
static void dao_gsl_eigen_gensymmv_workspace_gsl_eigen_gensymmv_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_eigen_gensymmv_workspace *self = Dao_gsl_eigen_gensymmv_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_eigen_gensymmv_workspace_Typer );
}

/*  gsl_eigen.h */


static void dao_gsl_eigen_genv_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_genv_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_genv_workspace_GETF_work1( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_genv_workspace_GETF_work2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_genv_workspace_GETF_work3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_genv_workspace_GETF_work4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_genv_workspace_GETF_work5( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_genv_workspace_GETF_work6( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_genv_workspace_GETF_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_genv_workspace_GETF_Z( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_genv_workspace_GETF_gen_workspace_p( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_eigen_genv_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_eigen_genv_workspace_gsl_eigen_genv_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_eigen_genv_workspace_Meths[] = 
{
  { dao_gsl_eigen_genv_workspace_GETF_size, ".size( self : gsl_eigen_genv_workspace )=>int" },
  { dao_gsl_eigen_genv_workspace_SETF_size, ".size=( self : gsl_eigen_genv_workspace, size : int )" },
  { dao_gsl_eigen_genv_workspace_GETF_work1, ".work1( self : gsl_eigen_genv_workspace )=>gsl_vector" },
  { dao_gsl_eigen_genv_workspace_GETF_work2, ".work2( self : gsl_eigen_genv_workspace )=>gsl_vector" },
  { dao_gsl_eigen_genv_workspace_GETF_work3, ".work3( self : gsl_eigen_genv_workspace )=>gsl_vector" },
  { dao_gsl_eigen_genv_workspace_GETF_work4, ".work4( self : gsl_eigen_genv_workspace )=>gsl_vector" },
  { dao_gsl_eigen_genv_workspace_GETF_work5, ".work5( self : gsl_eigen_genv_workspace )=>gsl_vector" },
  { dao_gsl_eigen_genv_workspace_GETF_work6, ".work6( self : gsl_eigen_genv_workspace )=>gsl_vector" },
  { dao_gsl_eigen_genv_workspace_GETF_Q, ".Q( self : gsl_eigen_genv_workspace )=>gsl_matrix" },
  { dao_gsl_eigen_genv_workspace_GETF_Z, ".Z( self : gsl_eigen_genv_workspace )=>gsl_matrix" },
  { dao_gsl_eigen_genv_workspace_GETF_gen_workspace_p, ".gen_workspace_p( self : gsl_eigen_genv_workspace )=>gsl_eigen_gen_workspace" },
  { dao_gsl_eigen_genv_workspace_gsl_eigen_genv_workspace, "gsl_eigen_genv_workspace(  )=>gsl_eigen_genv_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_eigen_genv_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_eigen_genv_workspace_Typer = 
{ "gsl_eigen_genv_workspace", NULL, 
  dao_gsl_eigen_genv_workspace_Nums,
  dao_gsl_eigen_genv_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_eigen_genv_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_eigen_genv_workspace_Typer = & gsl_eigen_genv_workspace_Typer;
static void dao_gsl_eigen_genv_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genv_workspace *self = (gsl_eigen_genv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genv_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_eigen_genv_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genv_workspace *self = (gsl_eigen_genv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genv_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_genv_workspace_GETF_work1( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genv_workspace *self = (gsl_eigen_genv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->work1, dao_gsl_vector_Typer );
}
static void dao_gsl_eigen_genv_workspace_GETF_work2( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genv_workspace *self = (gsl_eigen_genv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->work2, dao_gsl_vector_Typer );
}
static void dao_gsl_eigen_genv_workspace_GETF_work3( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genv_workspace *self = (gsl_eigen_genv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->work3, dao_gsl_vector_Typer );
}
static void dao_gsl_eigen_genv_workspace_GETF_work4( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genv_workspace *self = (gsl_eigen_genv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->work4, dao_gsl_vector_Typer );
}
static void dao_gsl_eigen_genv_workspace_GETF_work5( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genv_workspace *self = (gsl_eigen_genv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->work5, dao_gsl_vector_Typer );
}
static void dao_gsl_eigen_genv_workspace_GETF_work6( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genv_workspace *self = (gsl_eigen_genv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->work6, dao_gsl_vector_Typer );
}
static void dao_gsl_eigen_genv_workspace_GETF_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genv_workspace *self = (gsl_eigen_genv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->Q, dao_gsl_matrix_Typer );
}
static void dao_gsl_eigen_genv_workspace_GETF_Z( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genv_workspace *self = (gsl_eigen_genv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->Z, dao_gsl_matrix_Typer );
}
static void dao_gsl_eigen_genv_workspace_GETF_gen_workspace_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genv_workspace *self = (gsl_eigen_genv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_genv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->gen_workspace_p, dao_gsl_eigen_gen_workspace_Typer );
}
static void dao_gsl_eigen_genv_workspace_gsl_eigen_genv_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_eigen_genv_workspace *self = Dao_gsl_eigen_genv_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_eigen_genv_workspace_Typer );
}

/*  gsl_eigen.h */


static void dao_gsl_eigen_herm_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_herm_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_herm_workspace_GETF_d( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_herm_workspace_GETF_sd( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_herm_workspace_GETF_tau( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_eigen_herm_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_eigen_herm_workspace_gsl_eigen_herm_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_eigen_herm_workspace_Meths[] = 
{
  { dao_gsl_eigen_herm_workspace_GETF_size, ".size( self : gsl_eigen_herm_workspace )=>int" },
  { dao_gsl_eigen_herm_workspace_SETF_size, ".size=( self : gsl_eigen_herm_workspace, size : int )" },
  { dao_gsl_eigen_herm_workspace_GETF_d, ".d( self : gsl_eigen_herm_workspace )=>double" },
  { dao_gsl_eigen_herm_workspace_GETF_sd, ".sd( self : gsl_eigen_herm_workspace )=>double" },
  { dao_gsl_eigen_herm_workspace_GETF_tau, ".tau( self : gsl_eigen_herm_workspace )=>double" },
  { dao_gsl_eigen_herm_workspace_gsl_eigen_herm_workspace, "gsl_eigen_herm_workspace(  )=>gsl_eigen_herm_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_eigen_herm_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_eigen_herm_workspace_Typer = 
{ "gsl_eigen_herm_workspace", NULL, 
  dao_gsl_eigen_herm_workspace_Nums,
  dao_gsl_eigen_herm_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_eigen_herm_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_eigen_herm_workspace_Typer = & gsl_eigen_herm_workspace_Typer;
static void dao_gsl_eigen_herm_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_herm_workspace *self = (gsl_eigen_herm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_herm_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_eigen_herm_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_herm_workspace *self = (gsl_eigen_herm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_herm_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_herm_workspace_GETF_d( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_herm_workspace *self = (gsl_eigen_herm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_herm_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->d, 0 );
}
static void dao_gsl_eigen_herm_workspace_GETF_sd( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_herm_workspace *self = (gsl_eigen_herm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_herm_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->sd, 0 );
}
static void dao_gsl_eigen_herm_workspace_GETF_tau( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_herm_workspace *self = (gsl_eigen_herm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_herm_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->tau, 0 );
}
static void dao_gsl_eigen_herm_workspace_gsl_eigen_herm_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_eigen_herm_workspace *self = Dao_gsl_eigen_herm_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_eigen_herm_workspace_Typer );
}

/*  gsl_eigen.h */


static void dao_gsl_eigen_hermv_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_hermv_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_hermv_workspace_GETF_d( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_hermv_workspace_GETF_sd( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_hermv_workspace_GETF_tau( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_hermv_workspace_GETF_gc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_hermv_workspace_GETF_gs( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_eigen_hermv_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_eigen_hermv_workspace_gsl_eigen_hermv_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_eigen_hermv_workspace_Meths[] = 
{
  { dao_gsl_eigen_hermv_workspace_GETF_size, ".size( self : gsl_eigen_hermv_workspace )=>int" },
  { dao_gsl_eigen_hermv_workspace_SETF_size, ".size=( self : gsl_eigen_hermv_workspace, size : int )" },
  { dao_gsl_eigen_hermv_workspace_GETF_d, ".d( self : gsl_eigen_hermv_workspace )=>double" },
  { dao_gsl_eigen_hermv_workspace_GETF_sd, ".sd( self : gsl_eigen_hermv_workspace )=>double" },
  { dao_gsl_eigen_hermv_workspace_GETF_tau, ".tau( self : gsl_eigen_hermv_workspace )=>double" },
  { dao_gsl_eigen_hermv_workspace_GETF_gc, ".gc( self : gsl_eigen_hermv_workspace )=>double" },
  { dao_gsl_eigen_hermv_workspace_GETF_gs, ".gs( self : gsl_eigen_hermv_workspace )=>double" },
  { dao_gsl_eigen_hermv_workspace_gsl_eigen_hermv_workspace, "gsl_eigen_hermv_workspace(  )=>gsl_eigen_hermv_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_eigen_hermv_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_eigen_hermv_workspace_Typer = 
{ "gsl_eigen_hermv_workspace", NULL, 
  dao_gsl_eigen_hermv_workspace_Nums,
  dao_gsl_eigen_hermv_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_eigen_hermv_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_eigen_hermv_workspace_Typer = & gsl_eigen_hermv_workspace_Typer;
static void dao_gsl_eigen_hermv_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_hermv_workspace *self = (gsl_eigen_hermv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_hermv_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_eigen_hermv_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_hermv_workspace *self = (gsl_eigen_hermv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_hermv_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_hermv_workspace_GETF_d( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_hermv_workspace *self = (gsl_eigen_hermv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_hermv_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->d, 0 );
}
static void dao_gsl_eigen_hermv_workspace_GETF_sd( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_hermv_workspace *self = (gsl_eigen_hermv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_hermv_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->sd, 0 );
}
static void dao_gsl_eigen_hermv_workspace_GETF_tau( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_hermv_workspace *self = (gsl_eigen_hermv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_hermv_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->tau, 0 );
}
static void dao_gsl_eigen_hermv_workspace_GETF_gc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_hermv_workspace *self = (gsl_eigen_hermv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_hermv_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->gc, 0 );
}
static void dao_gsl_eigen_hermv_workspace_GETF_gs( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_hermv_workspace *self = (gsl_eigen_hermv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_hermv_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->gs, 0 );
}
static void dao_gsl_eigen_hermv_workspace_gsl_eigen_hermv_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_eigen_hermv_workspace *self = Dao_gsl_eigen_hermv_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_eigen_hermv_workspace_Typer );
}

/*  gsl_eigen.h */


static void dao_gsl_eigen_nonsymm_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymm_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymm_workspace_GETF_diag( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymm_workspace_GETF_tau( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymm_workspace_GETF_Z( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymm_workspace_GETF_do_balance( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymm_workspace_SETF_do_balance( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymm_workspace_GETF_n_evals( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymm_workspace_SETF_n_evals( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymm_workspace_GETF_francis_workspace_p( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_eigen_nonsymm_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_eigen_nonsymm_workspace_gsl_eigen_nonsymm_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_eigen_nonsymm_workspace_Meths[] = 
{
  { dao_gsl_eigen_nonsymm_workspace_GETF_size, ".size( self : gsl_eigen_nonsymm_workspace )=>int" },
  { dao_gsl_eigen_nonsymm_workspace_SETF_size, ".size=( self : gsl_eigen_nonsymm_workspace, size : int )" },
  { dao_gsl_eigen_nonsymm_workspace_GETF_diag, ".diag( self : gsl_eigen_nonsymm_workspace )=>gsl_vector" },
  { dao_gsl_eigen_nonsymm_workspace_GETF_tau, ".tau( self : gsl_eigen_nonsymm_workspace )=>gsl_vector" },
  { dao_gsl_eigen_nonsymm_workspace_GETF_Z, ".Z( self : gsl_eigen_nonsymm_workspace )=>gsl_matrix" },
  { dao_gsl_eigen_nonsymm_workspace_GETF_do_balance, ".do_balance( self : gsl_eigen_nonsymm_workspace )=>int" },
  { dao_gsl_eigen_nonsymm_workspace_SETF_do_balance, ".do_balance=( self : gsl_eigen_nonsymm_workspace, do_balance : int )" },
  { dao_gsl_eigen_nonsymm_workspace_GETF_n_evals, ".n_evals( self : gsl_eigen_nonsymm_workspace )=>int" },
  { dao_gsl_eigen_nonsymm_workspace_SETF_n_evals, ".n_evals=( self : gsl_eigen_nonsymm_workspace, n_evals : int )" },
  { dao_gsl_eigen_nonsymm_workspace_GETF_francis_workspace_p, ".francis_workspace_p( self : gsl_eigen_nonsymm_workspace )=>gsl_eigen_francis_workspace" },
  { dao_gsl_eigen_nonsymm_workspace_gsl_eigen_nonsymm_workspace, "gsl_eigen_nonsymm_workspace(  )=>gsl_eigen_nonsymm_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_eigen_nonsymm_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_eigen_nonsymm_workspace_Typer = 
{ "gsl_eigen_nonsymm_workspace", NULL, 
  dao_gsl_eigen_nonsymm_workspace_Nums,
  dao_gsl_eigen_nonsymm_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_eigen_nonsymm_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_eigen_nonsymm_workspace_Typer = & gsl_eigen_nonsymm_workspace_Typer;
static void dao_gsl_eigen_nonsymm_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymm_workspace *self = (gsl_eigen_nonsymm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymm_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_eigen_nonsymm_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymm_workspace *self = (gsl_eigen_nonsymm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymm_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_nonsymm_workspace_GETF_diag( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymm_workspace *self = (gsl_eigen_nonsymm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymm_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->diag, dao_gsl_vector_Typer );
}
static void dao_gsl_eigen_nonsymm_workspace_GETF_tau( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymm_workspace *self = (gsl_eigen_nonsymm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymm_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->tau, dao_gsl_vector_Typer );
}
static void dao_gsl_eigen_nonsymm_workspace_GETF_Z( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymm_workspace *self = (gsl_eigen_nonsymm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymm_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->Z, dao_gsl_matrix_Typer );
}
static void dao_gsl_eigen_nonsymm_workspace_GETF_do_balance( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymm_workspace *self = (gsl_eigen_nonsymm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymm_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->do_balance );
}
static void dao_gsl_eigen_nonsymm_workspace_SETF_do_balance( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymm_workspace *self = (gsl_eigen_nonsymm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymm_workspace_Typer);
  self->do_balance = (int) _p[1]->v.i;
}
static void dao_gsl_eigen_nonsymm_workspace_GETF_n_evals( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymm_workspace *self = (gsl_eigen_nonsymm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymm_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n_evals );
}
static void dao_gsl_eigen_nonsymm_workspace_SETF_n_evals( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymm_workspace *self = (gsl_eigen_nonsymm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymm_workspace_Typer);
  self->n_evals = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_nonsymm_workspace_GETF_francis_workspace_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymm_workspace *self = (gsl_eigen_nonsymm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymm_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->francis_workspace_p, dao_gsl_eigen_francis_workspace_Typer );
}
static void dao_gsl_eigen_nonsymm_workspace_gsl_eigen_nonsymm_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_eigen_nonsymm_workspace *self = Dao_gsl_eigen_nonsymm_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_eigen_nonsymm_workspace_Typer );
}

/*  gsl_eigen.h */


static void dao_gsl_eigen_nonsymmv_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymmv_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymmv_workspace_GETF_work( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymmv_workspace_GETF_work2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymmv_workspace_GETF_work3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymmv_workspace_GETF_Z( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_nonsymmv_workspace_GETF_nonsymm_workspace_p( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_eigen_nonsymmv_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_eigen_nonsymmv_workspace_gsl_eigen_nonsymmv_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_eigen_nonsymmv_workspace_Meths[] = 
{
  { dao_gsl_eigen_nonsymmv_workspace_GETF_size, ".size( self : gsl_eigen_nonsymmv_workspace )=>int" },
  { dao_gsl_eigen_nonsymmv_workspace_SETF_size, ".size=( self : gsl_eigen_nonsymmv_workspace, size : int )" },
  { dao_gsl_eigen_nonsymmv_workspace_GETF_work, ".work( self : gsl_eigen_nonsymmv_workspace )=>gsl_vector" },
  { dao_gsl_eigen_nonsymmv_workspace_GETF_work2, ".work2( self : gsl_eigen_nonsymmv_workspace )=>gsl_vector" },
  { dao_gsl_eigen_nonsymmv_workspace_GETF_work3, ".work3( self : gsl_eigen_nonsymmv_workspace )=>gsl_vector" },
  { dao_gsl_eigen_nonsymmv_workspace_GETF_Z, ".Z( self : gsl_eigen_nonsymmv_workspace )=>gsl_matrix" },
  { dao_gsl_eigen_nonsymmv_workspace_GETF_nonsymm_workspace_p, ".nonsymm_workspace_p( self : gsl_eigen_nonsymmv_workspace )=>gsl_eigen_nonsymm_workspace" },
  { dao_gsl_eigen_nonsymmv_workspace_gsl_eigen_nonsymmv_workspace, "gsl_eigen_nonsymmv_workspace(  )=>gsl_eigen_nonsymmv_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_eigen_nonsymmv_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_eigen_nonsymmv_workspace_Typer = 
{ "gsl_eigen_nonsymmv_workspace", NULL, 
  dao_gsl_eigen_nonsymmv_workspace_Nums,
  dao_gsl_eigen_nonsymmv_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_eigen_nonsymmv_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_eigen_nonsymmv_workspace_Typer = & gsl_eigen_nonsymmv_workspace_Typer;
static void dao_gsl_eigen_nonsymmv_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymmv_workspace *self = (gsl_eigen_nonsymmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymmv_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_eigen_nonsymmv_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymmv_workspace *self = (gsl_eigen_nonsymmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymmv_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_nonsymmv_workspace_GETF_work( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymmv_workspace *self = (gsl_eigen_nonsymmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymmv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->work, dao_gsl_vector_Typer );
}
static void dao_gsl_eigen_nonsymmv_workspace_GETF_work2( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymmv_workspace *self = (gsl_eigen_nonsymmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymmv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->work2, dao_gsl_vector_Typer );
}
static void dao_gsl_eigen_nonsymmv_workspace_GETF_work3( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymmv_workspace *self = (gsl_eigen_nonsymmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymmv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->work3, dao_gsl_vector_Typer );
}
static void dao_gsl_eigen_nonsymmv_workspace_GETF_Z( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymmv_workspace *self = (gsl_eigen_nonsymmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymmv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->Z, dao_gsl_matrix_Typer );
}
static void dao_gsl_eigen_nonsymmv_workspace_GETF_nonsymm_workspace_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymmv_workspace *self = (gsl_eigen_nonsymmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_nonsymmv_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->nonsymm_workspace_p, dao_gsl_eigen_nonsymm_workspace_Typer );
}
static void dao_gsl_eigen_nonsymmv_workspace_gsl_eigen_nonsymmv_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_eigen_nonsymmv_workspace *self = Dao_gsl_eigen_nonsymmv_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_eigen_nonsymmv_workspace_Typer );
}

/*  gsl_eigen.h */


static void dao_gsl_eigen_symm_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_symm_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_symm_workspace_GETF_d( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_symm_workspace_GETF_sd( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_eigen_symm_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_eigen_symm_workspace_gsl_eigen_symm_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_eigen_symm_workspace_Meths[] = 
{
  { dao_gsl_eigen_symm_workspace_GETF_size, ".size( self : gsl_eigen_symm_workspace )=>int" },
  { dao_gsl_eigen_symm_workspace_SETF_size, ".size=( self : gsl_eigen_symm_workspace, size : int )" },
  { dao_gsl_eigen_symm_workspace_GETF_d, ".d( self : gsl_eigen_symm_workspace )=>double" },
  { dao_gsl_eigen_symm_workspace_GETF_sd, ".sd( self : gsl_eigen_symm_workspace )=>double" },
  { dao_gsl_eigen_symm_workspace_gsl_eigen_symm_workspace, "gsl_eigen_symm_workspace(  )=>gsl_eigen_symm_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_eigen_symm_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_eigen_symm_workspace_Typer = 
{ "gsl_eigen_symm_workspace", NULL, 
  dao_gsl_eigen_symm_workspace_Nums,
  dao_gsl_eigen_symm_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_eigen_symm_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_eigen_symm_workspace_Typer = & gsl_eigen_symm_workspace_Typer;
static void dao_gsl_eigen_symm_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_symm_workspace *self = (gsl_eigen_symm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_symm_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_eigen_symm_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_symm_workspace *self = (gsl_eigen_symm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_symm_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_symm_workspace_GETF_d( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_symm_workspace *self = (gsl_eigen_symm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_symm_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->d, 0 );
}
static void dao_gsl_eigen_symm_workspace_GETF_sd( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_symm_workspace *self = (gsl_eigen_symm_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_symm_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->sd, 0 );
}
static void dao_gsl_eigen_symm_workspace_gsl_eigen_symm_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_eigen_symm_workspace *self = Dao_gsl_eigen_symm_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_eigen_symm_workspace_Typer );
}

/*  gsl_eigen.h */


static void dao_gsl_eigen_symmv_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_symmv_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_symmv_workspace_GETF_d( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_symmv_workspace_GETF_sd( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_symmv_workspace_GETF_gc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_eigen_symmv_workspace_GETF_gs( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_eigen_symmv_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_eigen_symmv_workspace_gsl_eigen_symmv_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_eigen_symmv_workspace_Meths[] = 
{
  { dao_gsl_eigen_symmv_workspace_GETF_size, ".size( self : gsl_eigen_symmv_workspace )=>int" },
  { dao_gsl_eigen_symmv_workspace_SETF_size, ".size=( self : gsl_eigen_symmv_workspace, size : int )" },
  { dao_gsl_eigen_symmv_workspace_GETF_d, ".d( self : gsl_eigen_symmv_workspace )=>double" },
  { dao_gsl_eigen_symmv_workspace_GETF_sd, ".sd( self : gsl_eigen_symmv_workspace )=>double" },
  { dao_gsl_eigen_symmv_workspace_GETF_gc, ".gc( self : gsl_eigen_symmv_workspace )=>double" },
  { dao_gsl_eigen_symmv_workspace_GETF_gs, ".gs( self : gsl_eigen_symmv_workspace )=>double" },
  { dao_gsl_eigen_symmv_workspace_gsl_eigen_symmv_workspace, "gsl_eigen_symmv_workspace(  )=>gsl_eigen_symmv_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_eigen_symmv_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_eigen_symmv_workspace_Typer = 
{ "gsl_eigen_symmv_workspace", NULL, 
  dao_gsl_eigen_symmv_workspace_Nums,
  dao_gsl_eigen_symmv_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_eigen_symmv_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_eigen_symmv_workspace_Typer = & gsl_eigen_symmv_workspace_Typer;
static void dao_gsl_eigen_symmv_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_symmv_workspace *self = (gsl_eigen_symmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_symmv_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_eigen_symmv_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_symmv_workspace *self = (gsl_eigen_symmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_symmv_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_eigen_symmv_workspace_GETF_d( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_symmv_workspace *self = (gsl_eigen_symmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_symmv_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->d, 0 );
}
static void dao_gsl_eigen_symmv_workspace_GETF_sd( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_symmv_workspace *self = (gsl_eigen_symmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_symmv_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->sd, 0 );
}
static void dao_gsl_eigen_symmv_workspace_GETF_gc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_symmv_workspace *self = (gsl_eigen_symmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_symmv_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->gc, 0 );
}
static void dao_gsl_eigen_symmv_workspace_GETF_gs( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_symmv_workspace *self = (gsl_eigen_symmv_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_eigen_symmv_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->gs, 0 );
}
static void dao_gsl_eigen_symmv_workspace_gsl_eigen_symmv_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_eigen_symmv_workspace *self = Dao_gsl_eigen_symmv_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_eigen_symmv_workspace_Typer );
}

/*  gsl_math.h */


static void dao_gsl_function_GETF_params( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_function_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_function_gsl_function( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_function_Meths[] = 
{
  { dao_gsl_function_GETF_params, ".params( self : gsl_function )=>cdata" },
  { dao_gsl_function_gsl_function, "gsl_function(  )=>gsl_function" },
  { NULL, NULL }
};
static void Dao_gsl_function_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_function_Typer = 
{ "gsl_function", NULL, 
  dao_gsl_function_Nums,
  dao_gsl_function_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_function_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_function_Typer = & gsl_function_Typer;
static void dao_gsl_function_GETF_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function *self = (gsl_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_function_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->params, 0 );
}
static void dao_gsl_function_gsl_function( DaoContext *_ctx, DValue *_p[], int _n )
{
	Dao_gsl_function *self = Dao_gsl_function_New();
	DaoContext_PutResult( _ctx, (DaoBase*) self->cdata );
}

/*  gsl_math.h */


static void dao_gsl_function_fdf_GETF_params( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_function_fdf_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_function_fdf_gsl_function_fdf( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_function_fdf_Meths[] = 
{
  { dao_gsl_function_fdf_GETF_params, ".params( self : gsl_function_fdf )=>cdata" },
  { dao_gsl_function_fdf_gsl_function_fdf, "gsl_function_fdf(  )=>gsl_function_fdf" },
  { NULL, NULL }
};
static void Dao_gsl_function_fdf_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_function_fdf_Typer = 
{ "gsl_function_fdf", NULL, 
  dao_gsl_function_fdf_Nums,
  dao_gsl_function_fdf_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_function_fdf_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_function_fdf_Typer = & gsl_function_fdf_Typer;
static void dao_gsl_function_fdf_GETF_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function_fdf *self = (gsl_function_fdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_function_fdf_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->params, 0 );
}
static void dao_gsl_function_fdf_gsl_function_fdf( DaoContext *_ctx, DValue *_p[], int _n )
{
	Dao_gsl_function_fdf *self = Dao_gsl_function_fdf_New();
	DaoContext_PutResult( _ctx, (DaoBase*) self->cdata );
}

/*  gsl_math.h */


static void dao_gsl_function_vec_GETF_params( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_function_vec_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_function_vec_gsl_function_vec( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_function_vec_Meths[] = 
{
  { dao_gsl_function_vec_GETF_params, ".params( self : gsl_function_vec )=>cdata" },
  { dao_gsl_function_vec_gsl_function_vec, "gsl_function_vec(  )=>gsl_function_vec" },
  { NULL, NULL }
};
static void Dao_gsl_function_vec_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_function_vec_Typer = 
{ "gsl_function_vec", NULL, 
  dao_gsl_function_vec_Nums,
  dao_gsl_function_vec_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_function_vec_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_function_vec_Typer = & gsl_function_vec_Typer;
static void dao_gsl_function_vec_GETF_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function_vec *self = (gsl_function_vec*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_function_vec_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->params, 0 );
}
static void dao_gsl_function_vec_gsl_function_vec( DaoContext *_ctx, DValue *_p[], int _n )
{
	Dao_gsl_function_vec *self = Dao_gsl_function_vec_New();
	DaoContext_PutResult( _ctx, (DaoBase*) self->cdata );
}

/*  gsl_histogram.h */


static void dao_gsl_histogram_GETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram_SETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram_GETF_range( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram_GETF_bin( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_histogram_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_histogram_gsl_histogram( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_histogram_Meths[] = 
{
  { dao_gsl_histogram_GETF_n, ".n( self : gsl_histogram )=>int" },
  { dao_gsl_histogram_SETF_n, ".n=( self : gsl_histogram, n : int )" },
  { dao_gsl_histogram_GETF_range, ".range( self : gsl_histogram )=>double" },
  { dao_gsl_histogram_GETF_bin, ".bin( self : gsl_histogram )=>double" },
  { dao_gsl_histogram_gsl_histogram, "gsl_histogram(  )=>gsl_histogram" },
  { NULL, NULL }
};
static void Dao_gsl_histogram_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_histogram_Typer = 
{ "gsl_histogram", NULL, 
  dao_gsl_histogram_Nums,
  dao_gsl_histogram_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_histogram_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_histogram_Typer = & gsl_histogram_Typer;
static void dao_gsl_histogram_GETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram *self = (gsl_histogram*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n );
}
static void dao_gsl_histogram_SETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram *self = (gsl_histogram*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram_Typer);
  self->n = (size_t) _p[1]->v.i;
}
static void dao_gsl_histogram_GETF_range( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram *self = (gsl_histogram*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->range, 0 );
}
static void dao_gsl_histogram_GETF_bin( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram *self = (gsl_histogram*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->bin, 0 );
}
static void dao_gsl_histogram_gsl_histogram( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_histogram *self = Dao_gsl_histogram_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_histogram_Typer );
}

/*  gsl_histogram2d.h */


static void dao_gsl_histogram2d_GETF_nx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram2d_SETF_nx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram2d_GETF_ny( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram2d_SETF_ny( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram2d_GETF_xrange( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram2d_GETF_yrange( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram2d_GETF_bin( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_histogram2d_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_histogram2d_gsl_histogram2d( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_histogram2d_Meths[] = 
{
  { dao_gsl_histogram2d_GETF_nx, ".nx( self : gsl_histogram2d )=>int" },
  { dao_gsl_histogram2d_SETF_nx, ".nx=( self : gsl_histogram2d, nx : int )" },
  { dao_gsl_histogram2d_GETF_ny, ".ny( self : gsl_histogram2d )=>int" },
  { dao_gsl_histogram2d_SETF_ny, ".ny=( self : gsl_histogram2d, ny : int )" },
  { dao_gsl_histogram2d_GETF_xrange, ".xrange( self : gsl_histogram2d )=>double" },
  { dao_gsl_histogram2d_GETF_yrange, ".yrange( self : gsl_histogram2d )=>double" },
  { dao_gsl_histogram2d_GETF_bin, ".bin( self : gsl_histogram2d )=>double" },
  { dao_gsl_histogram2d_gsl_histogram2d, "gsl_histogram2d(  )=>gsl_histogram2d" },
  { NULL, NULL }
};
static void Dao_gsl_histogram2d_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_histogram2d_Typer = 
{ "gsl_histogram2d", NULL, 
  dao_gsl_histogram2d_Nums,
  dao_gsl_histogram2d_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_histogram2d_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_histogram2d_Typer = & gsl_histogram2d_Typer;
static void dao_gsl_histogram2d_GETF_nx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d *self = (gsl_histogram2d*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram2d_Typer);
  DaoContext_PutInteger( _ctx, (int) self->nx );
}
static void dao_gsl_histogram2d_SETF_nx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d *self = (gsl_histogram2d*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram2d_Typer);
  self->nx = (size_t) _p[1]->v.i;
}
static void dao_gsl_histogram2d_GETF_ny( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d *self = (gsl_histogram2d*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram2d_Typer);
  DaoContext_PutInteger( _ctx, (int) self->ny );
}
static void dao_gsl_histogram2d_SETF_ny( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d *self = (gsl_histogram2d*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram2d_Typer);
  self->ny = (size_t) _p[1]->v.i;
}
static void dao_gsl_histogram2d_GETF_xrange( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d *self = (gsl_histogram2d*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram2d_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->xrange, 0 );
}
static void dao_gsl_histogram2d_GETF_yrange( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d *self = (gsl_histogram2d*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram2d_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->yrange, 0 );
}
static void dao_gsl_histogram2d_GETF_bin( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d *self = (gsl_histogram2d*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram2d_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->bin, 0 );
}
static void dao_gsl_histogram2d_gsl_histogram2d( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_histogram2d *self = Dao_gsl_histogram2d_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_histogram2d_Typer );
}

/*  gsl_histogram2d.h */


static void dao_gsl_histogram2d_pdf_GETF_nx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram2d_pdf_SETF_nx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram2d_pdf_GETF_ny( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram2d_pdf_SETF_ny( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram2d_pdf_GETF_xrange( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram2d_pdf_GETF_yrange( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram2d_pdf_GETF_sum( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_histogram2d_pdf_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_histogram2d_pdf_gsl_histogram2d_pdf( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_histogram2d_pdf_Meths[] = 
{
  { dao_gsl_histogram2d_pdf_GETF_nx, ".nx( self : gsl_histogram2d_pdf )=>int" },
  { dao_gsl_histogram2d_pdf_SETF_nx, ".nx=( self : gsl_histogram2d_pdf, nx : int )" },
  { dao_gsl_histogram2d_pdf_GETF_ny, ".ny( self : gsl_histogram2d_pdf )=>int" },
  { dao_gsl_histogram2d_pdf_SETF_ny, ".ny=( self : gsl_histogram2d_pdf, ny : int )" },
  { dao_gsl_histogram2d_pdf_GETF_xrange, ".xrange( self : gsl_histogram2d_pdf )=>double" },
  { dao_gsl_histogram2d_pdf_GETF_yrange, ".yrange( self : gsl_histogram2d_pdf )=>double" },
  { dao_gsl_histogram2d_pdf_GETF_sum, ".sum( self : gsl_histogram2d_pdf )=>double" },
  { dao_gsl_histogram2d_pdf_gsl_histogram2d_pdf, "gsl_histogram2d_pdf(  )=>gsl_histogram2d_pdf" },
  { NULL, NULL }
};
static void Dao_gsl_histogram2d_pdf_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_histogram2d_pdf_Typer = 
{ "gsl_histogram2d_pdf", NULL, 
  dao_gsl_histogram2d_pdf_Nums,
  dao_gsl_histogram2d_pdf_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_histogram2d_pdf_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_histogram2d_pdf_Typer = & gsl_histogram2d_pdf_Typer;
static void dao_gsl_histogram2d_pdf_GETF_nx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d_pdf *self = (gsl_histogram2d_pdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram2d_pdf_Typer);
  DaoContext_PutInteger( _ctx, (int) self->nx );
}
static void dao_gsl_histogram2d_pdf_SETF_nx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d_pdf *self = (gsl_histogram2d_pdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram2d_pdf_Typer);
  self->nx = (size_t) _p[1]->v.i;
}
static void dao_gsl_histogram2d_pdf_GETF_ny( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d_pdf *self = (gsl_histogram2d_pdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram2d_pdf_Typer);
  DaoContext_PutInteger( _ctx, (int) self->ny );
}
static void dao_gsl_histogram2d_pdf_SETF_ny( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d_pdf *self = (gsl_histogram2d_pdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram2d_pdf_Typer);
  self->ny = (size_t) _p[1]->v.i;
}
static void dao_gsl_histogram2d_pdf_GETF_xrange( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d_pdf *self = (gsl_histogram2d_pdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram2d_pdf_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->xrange, 0 );
}
static void dao_gsl_histogram2d_pdf_GETF_yrange( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d_pdf *self = (gsl_histogram2d_pdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram2d_pdf_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->yrange, 0 );
}
static void dao_gsl_histogram2d_pdf_GETF_sum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d_pdf *self = (gsl_histogram2d_pdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram2d_pdf_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->sum, 0 );
}
static void dao_gsl_histogram2d_pdf_gsl_histogram2d_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_histogram2d_pdf *self = Dao_gsl_histogram2d_pdf_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_histogram2d_pdf_Typer );
}

/*  gsl_histogram.h */


static void dao_gsl_histogram_pdf_GETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram_pdf_SETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram_pdf_GETF_range( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_histogram_pdf_GETF_sum( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_histogram_pdf_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_histogram_pdf_gsl_histogram_pdf( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_histogram_pdf_Meths[] = 
{
  { dao_gsl_histogram_pdf_GETF_n, ".n( self : gsl_histogram_pdf )=>int" },
  { dao_gsl_histogram_pdf_SETF_n, ".n=( self : gsl_histogram_pdf, n : int )" },
  { dao_gsl_histogram_pdf_GETF_range, ".range( self : gsl_histogram_pdf )=>double" },
  { dao_gsl_histogram_pdf_GETF_sum, ".sum( self : gsl_histogram_pdf )=>double" },
  { dao_gsl_histogram_pdf_gsl_histogram_pdf, "gsl_histogram_pdf(  )=>gsl_histogram_pdf" },
  { NULL, NULL }
};
static void Dao_gsl_histogram_pdf_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_histogram_pdf_Typer = 
{ "gsl_histogram_pdf", NULL, 
  dao_gsl_histogram_pdf_Nums,
  dao_gsl_histogram_pdf_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_histogram_pdf_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_histogram_pdf_Typer = & gsl_histogram_pdf_Typer;
static void dao_gsl_histogram_pdf_GETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram_pdf *self = (gsl_histogram_pdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram_pdf_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n );
}
static void dao_gsl_histogram_pdf_SETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram_pdf *self = (gsl_histogram_pdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram_pdf_Typer);
  self->n = (size_t) _p[1]->v.i;
}
static void dao_gsl_histogram_pdf_GETF_range( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram_pdf *self = (gsl_histogram_pdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram_pdf_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->range, 0 );
}
static void dao_gsl_histogram_pdf_GETF_sum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram_pdf *self = (gsl_histogram_pdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_histogram_pdf_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->sum, 0 );
}
static void dao_gsl_histogram_pdf_gsl_histogram_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_histogram_pdf *self = Dao_gsl_histogram_pdf_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_histogram_pdf_Typer );
}

/*  gsl_integration.h */


static void dao_gsl_integration_qawo_table_GETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qawo_table_SETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qawo_table_GETF_omega( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qawo_table_SETF_omega( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qawo_table_GETF_L( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qawo_table_SETF_L( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qawo_table_GETF_par( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qawo_table_SETF_par( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qawo_table_GETF_sine( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qawo_table_SETF_sine( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qawo_table_GETF_chebmo( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_integration_qawo_table_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_integration_qawo_table_gsl_integration_qawo_table( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_integration_qawo_table_Meths[] = 
{
  { dao_gsl_integration_qawo_table_GETF_n, ".n( self : gsl_integration_qawo_table )=>int" },
  { dao_gsl_integration_qawo_table_SETF_n, ".n=( self : gsl_integration_qawo_table, n : int )" },
  { dao_gsl_integration_qawo_table_GETF_omega, ".omega( self : gsl_integration_qawo_table )=>double" },
  { dao_gsl_integration_qawo_table_SETF_omega, ".omega=( self : gsl_integration_qawo_table, omega : double )" },
  { dao_gsl_integration_qawo_table_GETF_L, ".L( self : gsl_integration_qawo_table )=>double" },
  { dao_gsl_integration_qawo_table_SETF_L, ".L=( self : gsl_integration_qawo_table, L : double )" },
  { dao_gsl_integration_qawo_table_GETF_par, ".par( self : gsl_integration_qawo_table )=>double" },
  { dao_gsl_integration_qawo_table_SETF_par, ".par=( self : gsl_integration_qawo_table, par : double )" },
  { dao_gsl_integration_qawo_table_GETF_sine, ".sine( self : gsl_integration_qawo_table )=>int" },
  { dao_gsl_integration_qawo_table_SETF_sine, ".sine=( self : gsl_integration_qawo_table, sine : int )" },
  { dao_gsl_integration_qawo_table_GETF_chebmo, ".chebmo( self : gsl_integration_qawo_table )=>double" },
  { dao_gsl_integration_qawo_table_gsl_integration_qawo_table, "gsl_integration_qawo_table(  )=>gsl_integration_qawo_table" },
  { NULL, NULL }
};
static void Dao_gsl_integration_qawo_table_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_integration_qawo_table_Typer = 
{ "gsl_integration_qawo_table", NULL, 
  dao_gsl_integration_qawo_table_Nums,
  dao_gsl_integration_qawo_table_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_integration_qawo_table_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_integration_qawo_table_Typer = & gsl_integration_qawo_table_Typer;
static void dao_gsl_integration_qawo_table_GETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qawo_table *self = (gsl_integration_qawo_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qawo_table_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n );
}
static void dao_gsl_integration_qawo_table_SETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qawo_table *self = (gsl_integration_qawo_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qawo_table_Typer);
  self->n = (size_t) _p[1]->v.i;
}
static void dao_gsl_integration_qawo_table_GETF_omega( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qawo_table *self = (gsl_integration_qawo_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qawo_table_Typer);
  DaoContext_PutDouble( _ctx, (double) self->omega );
}
static void dao_gsl_integration_qawo_table_SETF_omega( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qawo_table *self = (gsl_integration_qawo_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qawo_table_Typer);
  self->omega = (double) _p[1]->v.d;
}
static void dao_gsl_integration_qawo_table_GETF_L( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qawo_table *self = (gsl_integration_qawo_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qawo_table_Typer);
  DaoContext_PutDouble( _ctx, (double) self->L );
}
static void dao_gsl_integration_qawo_table_SETF_L( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qawo_table *self = (gsl_integration_qawo_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qawo_table_Typer);
  self->L = (double) _p[1]->v.d;
}
static void dao_gsl_integration_qawo_table_GETF_par( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qawo_table *self = (gsl_integration_qawo_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qawo_table_Typer);
  DaoContext_PutDouble( _ctx, (double) self->par );
}
static void dao_gsl_integration_qawo_table_SETF_par( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qawo_table *self = (gsl_integration_qawo_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qawo_table_Typer);
  self->par = (double) _p[1]->v.d;
}
static void dao_gsl_integration_qawo_table_GETF_sine( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qawo_table *self = (gsl_integration_qawo_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qawo_table_Typer);
  DaoContext_PutInteger( _ctx, (int) self->sine );
}
static void dao_gsl_integration_qawo_table_SETF_sine( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qawo_table *self = (gsl_integration_qawo_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qawo_table_Typer);
  self->sine = (enum gsl_integration_qawo_enum) _p[1]->v.i;
}
static void dao_gsl_integration_qawo_table_GETF_chebmo( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qawo_table *self = (gsl_integration_qawo_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qawo_table_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->chebmo, 0 );
}
static void dao_gsl_integration_qawo_table_gsl_integration_qawo_table( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_integration_qawo_table *self = Dao_gsl_integration_qawo_table_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_integration_qawo_table_Typer );
}

/*  gsl_integration.h */


static void dao_gsl_integration_qaws_table_GETF_alpha( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_SETF_alpha( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_GETF_beta( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_SETF_beta( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_GETF_mu( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_SETF_mu( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_GETF_nu( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_SETF_nu( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_GETF_ri( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_SETF_ri( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_GETI_ri( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_SETI_ri( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_GETF_rj( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_SETF_rj( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_GETI_rj( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_SETI_rj( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_GETF_rg( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_SETF_rg( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_GETI_rg( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_SETI_rg( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_GETF_rh( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_SETF_rh( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_GETI_rh( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_qaws_table_SETI_rh( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_integration_qaws_table_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_integration_qaws_table_gsl_integration_qaws_table( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_integration_qaws_table_Meths[] = 
{
  { dao_gsl_integration_qaws_table_GETF_alpha, ".alpha( self : gsl_integration_qaws_table )=>double" },
  { dao_gsl_integration_qaws_table_SETF_alpha, ".alpha=( self : gsl_integration_qaws_table, alpha : double )" },
  { dao_gsl_integration_qaws_table_GETF_beta, ".beta( self : gsl_integration_qaws_table )=>double" },
  { dao_gsl_integration_qaws_table_SETF_beta, ".beta=( self : gsl_integration_qaws_table, beta : double )" },
  { dao_gsl_integration_qaws_table_GETF_mu, ".mu( self : gsl_integration_qaws_table )=>int" },
  { dao_gsl_integration_qaws_table_SETF_mu, ".mu=( self : gsl_integration_qaws_table, mu : int )" },
  { dao_gsl_integration_qaws_table_GETF_nu, ".nu( self : gsl_integration_qaws_table )=>int" },
  { dao_gsl_integration_qaws_table_SETF_nu, ".nu=( self : gsl_integration_qaws_table, nu : int )" },
  { dao_gsl_integration_qaws_table_GETF_ri, ".ri( self : gsl_integration_qaws_table )=>array<double>" },
  { dao_gsl_integration_qaws_table_SETF_ri, ".ri=( self : gsl_integration_qaws_table, ri : array<double> )" },
  { dao_gsl_integration_qaws_table_GETI_ri, "[]( self : gsl_integration_qaws_table, i : int )=>double" },
  { dao_gsl_integration_qaws_table_SETI_ri, "[]=( self : gsl_integration_qaws_table, i : int, value : double )" },
  { dao_gsl_integration_qaws_table_GETF_rj, ".rj( self : gsl_integration_qaws_table )=>array<double>" },
  { dao_gsl_integration_qaws_table_SETF_rj, ".rj=( self : gsl_integration_qaws_table, rj : array<double> )" },
  { dao_gsl_integration_qaws_table_GETI_rj, "[]( self : gsl_integration_qaws_table, i : int )=>double" },
  { dao_gsl_integration_qaws_table_SETI_rj, "[]=( self : gsl_integration_qaws_table, i : int, value : double )" },
  { dao_gsl_integration_qaws_table_GETF_rg, ".rg( self : gsl_integration_qaws_table )=>array<double>" },
  { dao_gsl_integration_qaws_table_SETF_rg, ".rg=( self : gsl_integration_qaws_table, rg : array<double> )" },
  { dao_gsl_integration_qaws_table_GETI_rg, "[]( self : gsl_integration_qaws_table, i : int )=>double" },
  { dao_gsl_integration_qaws_table_SETI_rg, "[]=( self : gsl_integration_qaws_table, i : int, value : double )" },
  { dao_gsl_integration_qaws_table_GETF_rh, ".rh( self : gsl_integration_qaws_table )=>array<double>" },
  { dao_gsl_integration_qaws_table_SETF_rh, ".rh=( self : gsl_integration_qaws_table, rh : array<double> )" },
  { dao_gsl_integration_qaws_table_GETI_rh, "[]( self : gsl_integration_qaws_table, i : int )=>double" },
  { dao_gsl_integration_qaws_table_SETI_rh, "[]=( self : gsl_integration_qaws_table, i : int, value : double )" },
  { dao_gsl_integration_qaws_table_gsl_integration_qaws_table, "gsl_integration_qaws_table(  )=>gsl_integration_qaws_table" },
  { NULL, NULL }
};
static void Dao_gsl_integration_qaws_table_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_integration_qaws_table_Typer = 
{ "gsl_integration_qaws_table", NULL, 
  dao_gsl_integration_qaws_table_Nums,
  dao_gsl_integration_qaws_table_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_integration_qaws_table_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_integration_qaws_table_Typer = & gsl_integration_qaws_table_Typer;
static void dao_gsl_integration_qaws_table_GETF_alpha( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  DaoContext_PutDouble( _ctx, (double) self->alpha );
}
static void dao_gsl_integration_qaws_table_SETF_alpha( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  self->alpha = (double) _p[1]->v.d;
}
static void dao_gsl_integration_qaws_table_GETF_beta( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  DaoContext_PutDouble( _ctx, (double) self->beta );
}
static void dao_gsl_integration_qaws_table_SETF_beta( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  self->beta = (double) _p[1]->v.d;
}
static void dao_gsl_integration_qaws_table_GETF_mu( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  DaoContext_PutInteger( _ctx, (int) self->mu );
}
static void dao_gsl_integration_qaws_table_SETF_mu( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  self->mu = (int) _p[1]->v.i;
}
static void dao_gsl_integration_qaws_table_GETF_nu( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  DaoContext_PutInteger( _ctx, (int) self->nu );
}
static void dao_gsl_integration_qaws_table_SETF_nu( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  self->nu = (int) _p[1]->v.i;
}
static void dao_gsl_integration_qaws_table_GETF_ri( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->ri, 25 );
}
static void dao_gsl_integration_qaws_table_SETF_ri( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  int size = DaoArray_Size( _p[1]->v.array );
  if( size > 25 ) size = 25;
  memmove( self->ri, DaoArray_ToDouble( _p[1]->v.array ), size*sizeof(double) );
}
static void dao_gsl_integration_qaws_table_GETI_ri( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  DaoContext_PutDouble( _ctx, (double) self->ri[_p[1]->v.i] );
}
static void dao_gsl_integration_qaws_table_SETI_ri( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  if( _p[1]->v.i < 0 || _p[1]->v.i >= 25 ) return;
  self->ri[_p[1]->v.i] = _p[2]->v.d;
}
static void dao_gsl_integration_qaws_table_GETF_rj( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->rj, 25 );
}
static void dao_gsl_integration_qaws_table_SETF_rj( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  int size = DaoArray_Size( _p[1]->v.array );
  if( size > 25 ) size = 25;
  memmove( self->rj, DaoArray_ToDouble( _p[1]->v.array ), size*sizeof(double) );
}
static void dao_gsl_integration_qaws_table_GETI_rj( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  DaoContext_PutDouble( _ctx, (double) self->rj[_p[1]->v.i] );
}
static void dao_gsl_integration_qaws_table_SETI_rj( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  if( _p[1]->v.i < 0 || _p[1]->v.i >= 25 ) return;
  self->rj[_p[1]->v.i] = _p[2]->v.d;
}
static void dao_gsl_integration_qaws_table_GETF_rg( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->rg, 25 );
}
static void dao_gsl_integration_qaws_table_SETF_rg( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  int size = DaoArray_Size( _p[1]->v.array );
  if( size > 25 ) size = 25;
  memmove( self->rg, DaoArray_ToDouble( _p[1]->v.array ), size*sizeof(double) );
}
static void dao_gsl_integration_qaws_table_GETI_rg( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  DaoContext_PutDouble( _ctx, (double) self->rg[_p[1]->v.i] );
}
static void dao_gsl_integration_qaws_table_SETI_rg( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  if( _p[1]->v.i < 0 || _p[1]->v.i >= 25 ) return;
  self->rg[_p[1]->v.i] = _p[2]->v.d;
}
static void dao_gsl_integration_qaws_table_GETF_rh( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->rh, 25 );
}
static void dao_gsl_integration_qaws_table_SETF_rh( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  int size = DaoArray_Size( _p[1]->v.array );
  if( size > 25 ) size = 25;
  memmove( self->rh, DaoArray_ToDouble( _p[1]->v.array ), size*sizeof(double) );
}
static void dao_gsl_integration_qaws_table_GETI_rh( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  DaoContext_PutDouble( _ctx, (double) self->rh[_p[1]->v.i] );
}
static void dao_gsl_integration_qaws_table_SETI_rh( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table *self = (gsl_integration_qaws_table*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_qaws_table_Typer);
  if( _p[1]->v.i < 0 || _p[1]->v.i >= 25 ) return;
  self->rh[_p[1]->v.i] = _p[2]->v.d;
}
static void dao_gsl_integration_qaws_table_gsl_integration_qaws_table( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_integration_qaws_table *self = Dao_gsl_integration_qaws_table_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_integration_qaws_table_Typer );
}

/*  gsl_integration.h */


static void dao_gsl_integration_workspace_GETF_limit( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_SETF_limit( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_GETF_nrmax( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_SETF_nrmax( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_GETF_i( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_SETF_i( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_GETF_maximum_level( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_SETF_maximum_level( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_GETF_alist( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_GETF_blist( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_GETF_rlist( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_GETF_elist( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_GETF_order( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_integration_workspace_GETF_level( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_integration_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_integration_workspace_gsl_integration_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_integration_workspace_Meths[] = 
{
  { dao_gsl_integration_workspace_GETF_limit, ".limit( self : gsl_integration_workspace )=>int" },
  { dao_gsl_integration_workspace_SETF_limit, ".limit=( self : gsl_integration_workspace, limit : int )" },
  { dao_gsl_integration_workspace_GETF_size, ".size( self : gsl_integration_workspace )=>int" },
  { dao_gsl_integration_workspace_SETF_size, ".size=( self : gsl_integration_workspace, size : int )" },
  { dao_gsl_integration_workspace_GETF_nrmax, ".nrmax( self : gsl_integration_workspace )=>int" },
  { dao_gsl_integration_workspace_SETF_nrmax, ".nrmax=( self : gsl_integration_workspace, nrmax : int )" },
  { dao_gsl_integration_workspace_GETF_i, ".i( self : gsl_integration_workspace )=>int" },
  { dao_gsl_integration_workspace_SETF_i, ".i=( self : gsl_integration_workspace, i : int )" },
  { dao_gsl_integration_workspace_GETF_maximum_level, ".maximum_level( self : gsl_integration_workspace )=>int" },
  { dao_gsl_integration_workspace_SETF_maximum_level, ".maximum_level=( self : gsl_integration_workspace, maximum_level : int )" },
  { dao_gsl_integration_workspace_GETF_alist, ".alist( self : gsl_integration_workspace )=>double" },
  { dao_gsl_integration_workspace_GETF_blist, ".blist( self : gsl_integration_workspace )=>double" },
  { dao_gsl_integration_workspace_GETF_rlist, ".rlist( self : gsl_integration_workspace )=>double" },
  { dao_gsl_integration_workspace_GETF_elist, ".elist( self : gsl_integration_workspace )=>double" },
  { dao_gsl_integration_workspace_GETF_order, ".order( self : gsl_integration_workspace )=>int" },
  { dao_gsl_integration_workspace_GETF_level, ".level( self : gsl_integration_workspace )=>int" },
  { dao_gsl_integration_workspace_gsl_integration_workspace, "gsl_integration_workspace(  )=>gsl_integration_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_integration_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_integration_workspace_Typer = 
{ "gsl_integration_workspace", NULL, 
  dao_gsl_integration_workspace_Nums,
  dao_gsl_integration_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_integration_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_integration_workspace_Typer = & gsl_integration_workspace_Typer;
static void dao_gsl_integration_workspace_GETF_limit( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->limit );
}
static void dao_gsl_integration_workspace_SETF_limit( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  self->limit = (size_t) _p[1]->v.i;
}
static void dao_gsl_integration_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_integration_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_integration_workspace_GETF_nrmax( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->nrmax );
}
static void dao_gsl_integration_workspace_SETF_nrmax( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  self->nrmax = (size_t) _p[1]->v.i;
}
static void dao_gsl_integration_workspace_GETF_i( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->i );
}
static void dao_gsl_integration_workspace_SETF_i( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  self->i = (size_t) _p[1]->v.i;
}
static void dao_gsl_integration_workspace_GETF_maximum_level( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->maximum_level );
}
static void dao_gsl_integration_workspace_SETF_maximum_level( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  self->maximum_level = (size_t) _p[1]->v.i;
}
static void dao_gsl_integration_workspace_GETF_alist( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->alist, 0 );
}
static void dao_gsl_integration_workspace_GETF_blist( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->blist, 0 );
}
static void dao_gsl_integration_workspace_GETF_rlist( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->rlist, 0 );
}
static void dao_gsl_integration_workspace_GETF_elist( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->elist, 0 );
}
static void dao_gsl_integration_workspace_GETF_order( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  DaoContext_PutArrayInteger( _ctx, (int*) self->order, 0 );
}
static void dao_gsl_integration_workspace_GETF_level( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace *self = (gsl_integration_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_integration_workspace_Typer);
  DaoContext_PutArrayInteger( _ctx, (int*) self->level, 0 );
}
static void dao_gsl_integration_workspace_gsl_integration_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_integration_workspace *self = Dao_gsl_integration_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_integration_workspace_Typer );
}

/*  gsl_interp.h */


static void dao_gsl_interp_GETF_type( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_interp_GETF_xmin( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_interp_SETF_xmin( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_interp_GETF_xmax( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_interp_SETF_xmax( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_interp_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_interp_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_interp_GETF_state( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_interp_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_interp_gsl_interp( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_interp_Meths[] = 
{
  { dao_gsl_interp_GETF_type, ".type( self : gsl_interp )=>gsl_interp_type" },
  { dao_gsl_interp_GETF_xmin, ".xmin( self : gsl_interp )=>double" },
  { dao_gsl_interp_SETF_xmin, ".xmin=( self : gsl_interp, xmin : double )" },
  { dao_gsl_interp_GETF_xmax, ".xmax( self : gsl_interp )=>double" },
  { dao_gsl_interp_SETF_xmax, ".xmax=( self : gsl_interp, xmax : double )" },
  { dao_gsl_interp_GETF_size, ".size( self : gsl_interp )=>int" },
  { dao_gsl_interp_SETF_size, ".size=( self : gsl_interp, size : int )" },
  { dao_gsl_interp_GETF_state, ".state( self : gsl_interp )=>cdata" },
  { dao_gsl_interp_gsl_interp, "gsl_interp(  )=>gsl_interp" },
  { NULL, NULL }
};
static void Dao_gsl_interp_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_interp_Typer = 
{ "gsl_interp", NULL, 
  dao_gsl_interp_Nums,
  dao_gsl_interp_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_interp_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_interp_Typer = & gsl_interp_Typer;
static void dao_gsl_interp_GETF_type( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp *self = (gsl_interp*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->type, dao_gsl_interp_type_Typer );
}
static void dao_gsl_interp_GETF_xmin( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp *self = (gsl_interp*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_Typer);
  DaoContext_PutDouble( _ctx, (double) self->xmin );
}
static void dao_gsl_interp_SETF_xmin( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp *self = (gsl_interp*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_Typer);
  self->xmin = (double) _p[1]->v.d;
}
static void dao_gsl_interp_GETF_xmax( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp *self = (gsl_interp*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_Typer);
  DaoContext_PutDouble( _ctx, (double) self->xmax );
}
static void dao_gsl_interp_SETF_xmax( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp *self = (gsl_interp*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_Typer);
  self->xmax = (double) _p[1]->v.d;
}
static void dao_gsl_interp_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp *self = (gsl_interp*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_interp_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp *self = (gsl_interp*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_interp_GETF_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp *self = (gsl_interp*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->state, 0 );
}
static void dao_gsl_interp_gsl_interp( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_interp *self = Dao_gsl_interp_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_interp_Typer );
}

/*  gsl_interp.h */


static void dao_gsl_interp_accel_GETF_cache( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_interp_accel_SETF_cache( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_interp_accel_GETF_miss_count( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_interp_accel_SETF_miss_count( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_interp_accel_GETF_hit_count( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_interp_accel_SETF_hit_count( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_interp_accel_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_interp_accel_gsl_interp_accel( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_interp_accel_Meths[] = 
{
  { dao_gsl_interp_accel_GETF_cache, ".cache( self : gsl_interp_accel )=>int" },
  { dao_gsl_interp_accel_SETF_cache, ".cache=( self : gsl_interp_accel, cache : int )" },
  { dao_gsl_interp_accel_GETF_miss_count, ".miss_count( self : gsl_interp_accel )=>int" },
  { dao_gsl_interp_accel_SETF_miss_count, ".miss_count=( self : gsl_interp_accel, miss_count : int )" },
  { dao_gsl_interp_accel_GETF_hit_count, ".hit_count( self : gsl_interp_accel )=>int" },
  { dao_gsl_interp_accel_SETF_hit_count, ".hit_count=( self : gsl_interp_accel, hit_count : int )" },
  { dao_gsl_interp_accel_gsl_interp_accel, "gsl_interp_accel(  )=>gsl_interp_accel" },
  { NULL, NULL }
};
static void Dao_gsl_interp_accel_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_interp_accel_Typer = 
{ "gsl_interp_accel", NULL, 
  dao_gsl_interp_accel_Nums,
  dao_gsl_interp_accel_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_interp_accel_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_interp_accel_Typer = & gsl_interp_accel_Typer;
static void dao_gsl_interp_accel_GETF_cache( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp_accel *self = (gsl_interp_accel*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_accel_Typer);
  DaoContext_PutInteger( _ctx, (int) self->cache );
}
static void dao_gsl_interp_accel_SETF_cache( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp_accel *self = (gsl_interp_accel*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_accel_Typer);
  self->cache = (size_t) _p[1]->v.i;
}
static void dao_gsl_interp_accel_GETF_miss_count( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp_accel *self = (gsl_interp_accel*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_accel_Typer);
  DaoContext_PutInteger( _ctx, (int) self->miss_count );
}
static void dao_gsl_interp_accel_SETF_miss_count( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp_accel *self = (gsl_interp_accel*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_accel_Typer);
  self->miss_count = (size_t) _p[1]->v.i;
}
static void dao_gsl_interp_accel_GETF_hit_count( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp_accel *self = (gsl_interp_accel*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_accel_Typer);
  DaoContext_PutInteger( _ctx, (int) self->hit_count );
}
static void dao_gsl_interp_accel_SETF_hit_count( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp_accel *self = (gsl_interp_accel*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_accel_Typer);
  self->hit_count = (size_t) _p[1]->v.i;
}
static void dao_gsl_interp_accel_gsl_interp_accel( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_interp_accel *self = Dao_gsl_interp_accel_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_interp_accel_Typer );
}

/*  gsl_interp.h */


static void dao_gsl_interp_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_interp_type_GETF_min_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_interp_type_SETF_min_size( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_interp_type_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_interp_type_gsl_interp_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_interp_type_Meths[] = 
{
  { dao_gsl_interp_type_GETF_name, ".name( self : gsl_interp_type )=>string" },
  { dao_gsl_interp_type_GETF_min_size, ".min_size( self : gsl_interp_type )=>int" },
  { dao_gsl_interp_type_SETF_min_size, ".min_size=( self : gsl_interp_type, min_size : int )" },
  { dao_gsl_interp_type_gsl_interp_type, "gsl_interp_type(  )=>gsl_interp_type" },
  { NULL, NULL }
};
static void Dao_gsl_interp_type_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_interp_type_Typer = 
{ "gsl_interp_type", NULL, 
  dao_gsl_interp_type_Nums,
  dao_gsl_interp_type_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_interp_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_interp_type_Typer = & gsl_interp_type_Typer;
static void dao_gsl_interp_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp_type *self = (gsl_interp_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_type_Typer);
  DaoContext_PutMBString( _ctx, (char*) self->name );
}
static void dao_gsl_interp_type_GETF_min_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp_type *self = (gsl_interp_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->min_size );
}
static void dao_gsl_interp_type_SETF_min_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp_type *self = (gsl_interp_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_interp_type_Typer);
  self->min_size = (unsigned int) _p[1]->v.i;
}
static void dao_gsl_interp_type_gsl_interp_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_interp_type *self = Dao_gsl_interp_type_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_interp_type_Typer );
}

/*  gsl_min.h */


static void dao_gsl_min_fminimizer_GETF_type( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_GETF_function( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_GETF_x_minimum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_SETF_x_minimum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_GETF_x_lower( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_SETF_x_lower( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_GETF_x_upper( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_SETF_x_upper( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_GETF_f_minimum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_SETF_f_minimum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_GETF_f_lower( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_SETF_f_lower( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_GETF_f_upper( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_SETF_f_upper( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_GETF_state( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_min_fminimizer_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_min_fminimizer_gsl_min_fminimizer( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_min_fminimizer_Meths[] = 
{
  { dao_gsl_min_fminimizer_GETF_type, ".type( self : gsl_min_fminimizer )=>gsl_min_fminimizer_type" },
  { dao_gsl_min_fminimizer_GETF_function, ".function( self : gsl_min_fminimizer )=>gsl_function" },
  { dao_gsl_min_fminimizer_GETF_x_minimum, ".x_minimum( self : gsl_min_fminimizer )=>double" },
  { dao_gsl_min_fminimizer_SETF_x_minimum, ".x_minimum=( self : gsl_min_fminimizer, x_minimum : double )" },
  { dao_gsl_min_fminimizer_GETF_x_lower, ".x_lower( self : gsl_min_fminimizer )=>double" },
  { dao_gsl_min_fminimizer_SETF_x_lower, ".x_lower=( self : gsl_min_fminimizer, x_lower : double )" },
  { dao_gsl_min_fminimizer_GETF_x_upper, ".x_upper( self : gsl_min_fminimizer )=>double" },
  { dao_gsl_min_fminimizer_SETF_x_upper, ".x_upper=( self : gsl_min_fminimizer, x_upper : double )" },
  { dao_gsl_min_fminimizer_GETF_f_minimum, ".f_minimum( self : gsl_min_fminimizer )=>double" },
  { dao_gsl_min_fminimizer_SETF_f_minimum, ".f_minimum=( self : gsl_min_fminimizer, f_minimum : double )" },
  { dao_gsl_min_fminimizer_GETF_f_lower, ".f_lower( self : gsl_min_fminimizer )=>double" },
  { dao_gsl_min_fminimizer_SETF_f_lower, ".f_lower=( self : gsl_min_fminimizer, f_lower : double )" },
  { dao_gsl_min_fminimizer_GETF_f_upper, ".f_upper( self : gsl_min_fminimizer )=>double" },
  { dao_gsl_min_fminimizer_SETF_f_upper, ".f_upper=( self : gsl_min_fminimizer, f_upper : double )" },
  { dao_gsl_min_fminimizer_GETF_state, ".state( self : gsl_min_fminimizer )=>cdata" },
  { dao_gsl_min_fminimizer_gsl_min_fminimizer, "gsl_min_fminimizer(  )=>gsl_min_fminimizer" },
  { NULL, NULL }
};
static void Dao_gsl_min_fminimizer_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_min_fminimizer_Typer = 
{ "gsl_min_fminimizer", NULL, 
  dao_gsl_min_fminimizer_Nums,
  dao_gsl_min_fminimizer_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_min_fminimizer_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_min_fminimizer_Typer = & gsl_min_fminimizer_Typer;
static void dao_gsl_min_fminimizer_GETF_type( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->type, dao_gsl_min_fminimizer_type_Typer );
}
static void dao_gsl_min_fminimizer_GETF_function( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->function, dao_gsl_function_Typer );
}
static void dao_gsl_min_fminimizer_GETF_x_minimum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  DaoContext_PutDouble( _ctx, (double) self->x_minimum );
}
static void dao_gsl_min_fminimizer_SETF_x_minimum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  self->x_minimum = (double) _p[1]->v.d;
}
static void dao_gsl_min_fminimizer_GETF_x_lower( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  DaoContext_PutDouble( _ctx, (double) self->x_lower );
}
static void dao_gsl_min_fminimizer_SETF_x_lower( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  self->x_lower = (double) _p[1]->v.d;
}
static void dao_gsl_min_fminimizer_GETF_x_upper( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  DaoContext_PutDouble( _ctx, (double) self->x_upper );
}
static void dao_gsl_min_fminimizer_SETF_x_upper( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  self->x_upper = (double) _p[1]->v.d;
}
static void dao_gsl_min_fminimizer_GETF_f_minimum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  DaoContext_PutDouble( _ctx, (double) self->f_minimum );
}
static void dao_gsl_min_fminimizer_SETF_f_minimum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  self->f_minimum = (double) _p[1]->v.d;
}
static void dao_gsl_min_fminimizer_GETF_f_lower( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  DaoContext_PutDouble( _ctx, (double) self->f_lower );
}
static void dao_gsl_min_fminimizer_SETF_f_lower( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  self->f_lower = (double) _p[1]->v.d;
}
static void dao_gsl_min_fminimizer_GETF_f_upper( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  DaoContext_PutDouble( _ctx, (double) self->f_upper );
}
static void dao_gsl_min_fminimizer_SETF_f_upper( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  self->f_upper = (double) _p[1]->v.d;
}
static void dao_gsl_min_fminimizer_GETF_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer *self = (gsl_min_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->state, 0 );
}
static void dao_gsl_min_fminimizer_gsl_min_fminimizer( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_min_fminimizer *self = Dao_gsl_min_fminimizer_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_min_fminimizer_Typer );
}

/*  gsl_min.h */


static void dao_gsl_min_fminimizer_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_min_fminimizer_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_min_fminimizer_type_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_min_fminimizer_type_gsl_min_fminimizer_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_min_fminimizer_type_Meths[] = 
{
  { dao_gsl_min_fminimizer_type_GETF_name, ".name( self : gsl_min_fminimizer_type )=>string" },
  { dao_gsl_min_fminimizer_type_GETF_size, ".size( self : gsl_min_fminimizer_type )=>int" },
  { dao_gsl_min_fminimizer_type_SETF_size, ".size=( self : gsl_min_fminimizer_type, size : int )" },
  { dao_gsl_min_fminimizer_type_gsl_min_fminimizer_type, "gsl_min_fminimizer_type(  )=>gsl_min_fminimizer_type" },
  { NULL, NULL }
};
static void Dao_gsl_min_fminimizer_type_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_min_fminimizer_type_Typer = 
{ "gsl_min_fminimizer_type", NULL, 
  dao_gsl_min_fminimizer_type_Nums,
  dao_gsl_min_fminimizer_type_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_min_fminimizer_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_min_fminimizer_type_Typer = & gsl_min_fminimizer_type_Typer;
static void dao_gsl_min_fminimizer_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer_type *self = (gsl_min_fminimizer_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_type_Typer);
  DaoContext_PutMBString( _ctx, (char*) self->name );
}
static void dao_gsl_min_fminimizer_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer_type *self = (gsl_min_fminimizer_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_min_fminimizer_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer_type *self = (gsl_min_fminimizer_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_min_fminimizer_type_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_min_fminimizer_type_gsl_min_fminimizer_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_min_fminimizer_type *self = Dao_gsl_min_fminimizer_type_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_min_fminimizer_type_Typer );
}

/*  gsl_monte.h */


static void dao_gsl_monte_function_GETF_dim( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_function_SETF_dim( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_function_GETF_params( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_monte_function_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_monte_function_gsl_monte_function( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_monte_function_Meths[] = 
{
  { dao_gsl_monte_function_GETF_dim, ".dim( self : gsl_monte_function )=>int" },
  { dao_gsl_monte_function_SETF_dim, ".dim=( self : gsl_monte_function, dim : int )" },
  { dao_gsl_monte_function_GETF_params, ".params( self : gsl_monte_function )=>cdata" },
  { dao_gsl_monte_function_gsl_monte_function, "gsl_monte_function(  )=>gsl_monte_function" },
  { NULL, NULL }
};
static void Dao_gsl_monte_function_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_monte_function_Typer = 
{ "gsl_monte_function", NULL, 
  dao_gsl_monte_function_Nums,
  dao_gsl_monte_function_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_monte_function_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_monte_function_Typer = & gsl_monte_function_Typer;
static void dao_gsl_monte_function_GETF_dim( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_function *self = (gsl_monte_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_function_Typer);
  DaoContext_PutInteger( _ctx, (int) self->dim );
}
static void dao_gsl_monte_function_SETF_dim( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_function *self = (gsl_monte_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_function_Typer);
  self->dim = (size_t) _p[1]->v.i;
}
static void dao_gsl_monte_function_GETF_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_function *self = (gsl_monte_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_function_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->params, 0 );
}
static void dao_gsl_monte_function_gsl_monte_function( DaoContext *_ctx, DValue *_p[], int _n )
{
	Dao_gsl_monte_function *self = Dao_gsl_monte_function_New();
	DaoContext_PutResult( _ctx, (DaoBase*) self->cdata );
}

/*  gsl_monte_miser.h */


static void dao_gsl_monte_miser_state_GETF_min_calls( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_SETF_min_calls( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_min_calls_per_bisection( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_SETF_min_calls_per_bisection( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_dither( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_SETF_dither( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_estimate_frac( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_SETF_estimate_frac( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_alpha( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_SETF_alpha( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_dim( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_SETF_dim( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_estimate_style( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_SETF_estimate_style( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_depth( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_SETF_depth( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_verbose( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_SETF_verbose( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_x( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_xmid( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_sigma_l( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_sigma_r( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_fmax_l( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_fmax_r( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_fmin_l( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_fmin_r( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_fsum_l( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_fsum_r( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_fsum2_l( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_fsum2_r( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_hits_l( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_miser_state_GETF_hits_r( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_monte_miser_state_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_monte_miser_state_gsl_monte_miser_state( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_monte_miser_state_Meths[] = 
{
  { dao_gsl_monte_miser_state_GETF_min_calls, ".min_calls( self : gsl_monte_miser_state )=>int" },
  { dao_gsl_monte_miser_state_SETF_min_calls, ".min_calls=( self : gsl_monte_miser_state, min_calls : int )" },
  { dao_gsl_monte_miser_state_GETF_min_calls_per_bisection, ".min_calls_per_bisection( self : gsl_monte_miser_state )=>int" },
  { dao_gsl_monte_miser_state_SETF_min_calls_per_bisection, ".min_calls_per_bisection=( self : gsl_monte_miser_state, min_calls_per_bisection : int )" },
  { dao_gsl_monte_miser_state_GETF_dither, ".dither( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_SETF_dither, ".dither=( self : gsl_monte_miser_state, dither : double )" },
  { dao_gsl_monte_miser_state_GETF_estimate_frac, ".estimate_frac( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_SETF_estimate_frac, ".estimate_frac=( self : gsl_monte_miser_state, estimate_frac : double )" },
  { dao_gsl_monte_miser_state_GETF_alpha, ".alpha( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_SETF_alpha, ".alpha=( self : gsl_monte_miser_state, alpha : double )" },
  { dao_gsl_monte_miser_state_GETF_dim, ".dim( self : gsl_monte_miser_state )=>int" },
  { dao_gsl_monte_miser_state_SETF_dim, ".dim=( self : gsl_monte_miser_state, dim : int )" },
  { dao_gsl_monte_miser_state_GETF_estimate_style, ".estimate_style( self : gsl_monte_miser_state )=>int" },
  { dao_gsl_monte_miser_state_SETF_estimate_style, ".estimate_style=( self : gsl_monte_miser_state, estimate_style : int )" },
  { dao_gsl_monte_miser_state_GETF_depth, ".depth( self : gsl_monte_miser_state )=>int" },
  { dao_gsl_monte_miser_state_SETF_depth, ".depth=( self : gsl_monte_miser_state, depth : int )" },
  { dao_gsl_monte_miser_state_GETF_verbose, ".verbose( self : gsl_monte_miser_state )=>int" },
  { dao_gsl_monte_miser_state_SETF_verbose, ".verbose=( self : gsl_monte_miser_state, verbose : int )" },
  { dao_gsl_monte_miser_state_GETF_x, ".x( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_GETF_xmid, ".xmid( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_GETF_sigma_l, ".sigma_l( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_GETF_sigma_r, ".sigma_r( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_GETF_fmax_l, ".fmax_l( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_GETF_fmax_r, ".fmax_r( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_GETF_fmin_l, ".fmin_l( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_GETF_fmin_r, ".fmin_r( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_GETF_fsum_l, ".fsum_l( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_GETF_fsum_r, ".fsum_r( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_GETF_fsum2_l, ".fsum2_l( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_GETF_fsum2_r, ".fsum2_r( self : gsl_monte_miser_state )=>double" },
  { dao_gsl_monte_miser_state_GETF_hits_l, ".hits_l( self : gsl_monte_miser_state )=>int" },
  { dao_gsl_monte_miser_state_GETF_hits_r, ".hits_r( self : gsl_monte_miser_state )=>int" },
  { dao_gsl_monte_miser_state_gsl_monte_miser_state, "gsl_monte_miser_state(  )=>gsl_monte_miser_state" },
  { NULL, NULL }
};
static void Dao_gsl_monte_miser_state_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_monte_miser_state_Typer = 
{ "gsl_monte_miser_state", NULL, 
  dao_gsl_monte_miser_state_Nums,
  dao_gsl_monte_miser_state_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_monte_miser_state_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_monte_miser_state_Typer = & gsl_monte_miser_state_Typer;
static void dao_gsl_monte_miser_state_GETF_min_calls( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->min_calls );
}
static void dao_gsl_monte_miser_state_SETF_min_calls( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  self->min_calls = (size_t) _p[1]->v.i;
}
static void dao_gsl_monte_miser_state_GETF_min_calls_per_bisection( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->min_calls_per_bisection );
}
static void dao_gsl_monte_miser_state_SETF_min_calls_per_bisection( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  self->min_calls_per_bisection = (size_t) _p[1]->v.i;
}
static void dao_gsl_monte_miser_state_GETF_dither( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutDouble( _ctx, (double) self->dither );
}
static void dao_gsl_monte_miser_state_SETF_dither( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  self->dither = (double) _p[1]->v.d;
}
static void dao_gsl_monte_miser_state_GETF_estimate_frac( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutDouble( _ctx, (double) self->estimate_frac );
}
static void dao_gsl_monte_miser_state_SETF_estimate_frac( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  self->estimate_frac = (double) _p[1]->v.d;
}
static void dao_gsl_monte_miser_state_GETF_alpha( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutDouble( _ctx, (double) self->alpha );
}
static void dao_gsl_monte_miser_state_SETF_alpha( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  self->alpha = (double) _p[1]->v.d;
}
static void dao_gsl_monte_miser_state_GETF_dim( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->dim );
}
static void dao_gsl_monte_miser_state_SETF_dim( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  self->dim = (size_t) _p[1]->v.i;
}
static void dao_gsl_monte_miser_state_GETF_estimate_style( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->estimate_style );
}
static void dao_gsl_monte_miser_state_SETF_estimate_style( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  self->estimate_style = (int) _p[1]->v.i;
}
static void dao_gsl_monte_miser_state_GETF_depth( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->depth );
}
static void dao_gsl_monte_miser_state_SETF_depth( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  self->depth = (int) _p[1]->v.i;
}
static void dao_gsl_monte_miser_state_GETF_verbose( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->verbose );
}
static void dao_gsl_monte_miser_state_SETF_verbose( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  self->verbose = (int) _p[1]->v.i;
}
static void dao_gsl_monte_miser_state_GETF_x( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->x, 0 );
}
static void dao_gsl_monte_miser_state_GETF_xmid( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->xmid, 0 );
}
static void dao_gsl_monte_miser_state_GETF_sigma_l( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->sigma_l, 0 );
}
static void dao_gsl_monte_miser_state_GETF_sigma_r( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->sigma_r, 0 );
}
static void dao_gsl_monte_miser_state_GETF_fmax_l( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->fmax_l, 0 );
}
static void dao_gsl_monte_miser_state_GETF_fmax_r( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->fmax_r, 0 );
}
static void dao_gsl_monte_miser_state_GETF_fmin_l( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->fmin_l, 0 );
}
static void dao_gsl_monte_miser_state_GETF_fmin_r( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->fmin_r, 0 );
}
static void dao_gsl_monte_miser_state_GETF_fsum_l( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->fsum_l, 0 );
}
static void dao_gsl_monte_miser_state_GETF_fsum_r( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->fsum_r, 0 );
}
static void dao_gsl_monte_miser_state_GETF_fsum2_l( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->fsum2_l, 0 );
}
static void dao_gsl_monte_miser_state_GETF_fsum2_r( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->fsum2_r, 0 );
}
static void dao_gsl_monte_miser_state_GETF_hits_l( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutArrayInteger( _ctx, (int*) self->hits_l, 0 );
}
static void dao_gsl_monte_miser_state_GETF_hits_r( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state *self = (gsl_monte_miser_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_miser_state_Typer);
  DaoContext_PutArrayInteger( _ctx, (int*) self->hits_r, 0 );
}
static void dao_gsl_monte_miser_state_gsl_monte_miser_state( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_monte_miser_state *self = Dao_gsl_monte_miser_state_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_monte_miser_state_Typer );
}

/*  gsl_monte_plain.h */


static void dao_gsl_monte_plain_state_GETF_dim( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_plain_state_SETF_dim( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_plain_state_GETF_x( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_monte_plain_state_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_monte_plain_state_gsl_monte_plain_state( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_monte_plain_state_Meths[] = 
{
  { dao_gsl_monte_plain_state_GETF_dim, ".dim( self : gsl_monte_plain_state )=>int" },
  { dao_gsl_monte_plain_state_SETF_dim, ".dim=( self : gsl_monte_plain_state, dim : int )" },
  { dao_gsl_monte_plain_state_GETF_x, ".x( self : gsl_monte_plain_state )=>double" },
  { dao_gsl_monte_plain_state_gsl_monte_plain_state, "gsl_monte_plain_state(  )=>gsl_monte_plain_state" },
  { NULL, NULL }
};
static void Dao_gsl_monte_plain_state_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_monte_plain_state_Typer = 
{ "gsl_monte_plain_state", NULL, 
  dao_gsl_monte_plain_state_Nums,
  dao_gsl_monte_plain_state_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_monte_plain_state_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_monte_plain_state_Typer = & gsl_monte_plain_state_Typer;
static void dao_gsl_monte_plain_state_GETF_dim( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_plain_state *self = (gsl_monte_plain_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_plain_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->dim );
}
static void dao_gsl_monte_plain_state_SETF_dim( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_plain_state *self = (gsl_monte_plain_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_plain_state_Typer);
  self->dim = (size_t) _p[1]->v.i;
}
static void dao_gsl_monte_plain_state_GETF_x( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_plain_state *self = (gsl_monte_plain_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_plain_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->x, 0 );
}
static void dao_gsl_monte_plain_state_gsl_monte_plain_state( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_monte_plain_state *self = Dao_gsl_monte_plain_state_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_monte_plain_state_Typer );
}

/*  gsl_monte_vegas.h */


static void dao_gsl_monte_vegas_state_GETF_dim( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_dim( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_bins_max( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_bins_max( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_bins( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_bins( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_boxes( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_boxes( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_xi( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_xin( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_delx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_weight( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_vol( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_vol( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_x( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_bin( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_box( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_d( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_alpha( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_alpha( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_mode( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_mode( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_verbose( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_verbose( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_iterations( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_iterations( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_stage( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_stage( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_jac( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_jac( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_wtd_int_sum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_wtd_int_sum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_sum_wgts( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_sum_wgts( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_chi_sum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_chi_sum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_chisq( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_chisq( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_result( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_result( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_sigma( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_sigma( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_it_start( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_it_start( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_it_num( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_it_num( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_samples( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_samples( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_calls_per_box( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_SETF_calls_per_box( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_monte_vegas_state_GETF_ostream( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_monte_vegas_state_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_monte_vegas_state_gsl_monte_vegas_state( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_monte_vegas_state_Meths[] = 
{
  { dao_gsl_monte_vegas_state_GETF_dim, ".dim( self : gsl_monte_vegas_state )=>int" },
  { dao_gsl_monte_vegas_state_SETF_dim, ".dim=( self : gsl_monte_vegas_state, dim : int )" },
  { dao_gsl_monte_vegas_state_GETF_bins_max, ".bins_max( self : gsl_monte_vegas_state )=>int" },
  { dao_gsl_monte_vegas_state_SETF_bins_max, ".bins_max=( self : gsl_monte_vegas_state, bins_max : int )" },
  { dao_gsl_monte_vegas_state_GETF_bins, ".bins( self : gsl_monte_vegas_state )=>int" },
  { dao_gsl_monte_vegas_state_SETF_bins, ".bins=( self : gsl_monte_vegas_state, bins : int )" },
  { dao_gsl_monte_vegas_state_GETF_boxes, ".boxes( self : gsl_monte_vegas_state )=>int" },
  { dao_gsl_monte_vegas_state_SETF_boxes, ".boxes=( self : gsl_monte_vegas_state, boxes : int )" },
  { dao_gsl_monte_vegas_state_GETF_xi, ".xi( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_GETF_xin, ".xin( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_GETF_delx, ".delx( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_GETF_weight, ".weight( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_GETF_vol, ".vol( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_SETF_vol, ".vol=( self : gsl_monte_vegas_state, vol : double )" },
  { dao_gsl_monte_vegas_state_GETF_x, ".x( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_GETF_bin, ".bin( self : gsl_monte_vegas_state )=>int" },
  { dao_gsl_monte_vegas_state_GETF_box, ".box( self : gsl_monte_vegas_state )=>int" },
  { dao_gsl_monte_vegas_state_GETF_d, ".d( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_GETF_alpha, ".alpha( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_SETF_alpha, ".alpha=( self : gsl_monte_vegas_state, alpha : double )" },
  { dao_gsl_monte_vegas_state_GETF_mode, ".mode( self : gsl_monte_vegas_state )=>int" },
  { dao_gsl_monte_vegas_state_SETF_mode, ".mode=( self : gsl_monte_vegas_state, mode : int )" },
  { dao_gsl_monte_vegas_state_GETF_verbose, ".verbose( self : gsl_monte_vegas_state )=>int" },
  { dao_gsl_monte_vegas_state_SETF_verbose, ".verbose=( self : gsl_monte_vegas_state, verbose : int )" },
  { dao_gsl_monte_vegas_state_GETF_iterations, ".iterations( self : gsl_monte_vegas_state )=>int" },
  { dao_gsl_monte_vegas_state_SETF_iterations, ".iterations=( self : gsl_monte_vegas_state, iterations : int )" },
  { dao_gsl_monte_vegas_state_GETF_stage, ".stage( self : gsl_monte_vegas_state )=>int" },
  { dao_gsl_monte_vegas_state_SETF_stage, ".stage=( self : gsl_monte_vegas_state, stage : int )" },
  { dao_gsl_monte_vegas_state_GETF_jac, ".jac( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_SETF_jac, ".jac=( self : gsl_monte_vegas_state, jac : double )" },
  { dao_gsl_monte_vegas_state_GETF_wtd_int_sum, ".wtd_int_sum( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_SETF_wtd_int_sum, ".wtd_int_sum=( self : gsl_monte_vegas_state, wtd_int_sum : double )" },
  { dao_gsl_monte_vegas_state_GETF_sum_wgts, ".sum_wgts( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_SETF_sum_wgts, ".sum_wgts=( self : gsl_monte_vegas_state, sum_wgts : double )" },
  { dao_gsl_monte_vegas_state_GETF_chi_sum, ".chi_sum( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_SETF_chi_sum, ".chi_sum=( self : gsl_monte_vegas_state, chi_sum : double )" },
  { dao_gsl_monte_vegas_state_GETF_chisq, ".chisq( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_SETF_chisq, ".chisq=( self : gsl_monte_vegas_state, chisq : double )" },
  { dao_gsl_monte_vegas_state_GETF_result, ".result( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_SETF_result, ".result=( self : gsl_monte_vegas_state, result : double )" },
  { dao_gsl_monte_vegas_state_GETF_sigma, ".sigma( self : gsl_monte_vegas_state )=>double" },
  { dao_gsl_monte_vegas_state_SETF_sigma, ".sigma=( self : gsl_monte_vegas_state, sigma : double )" },
  { dao_gsl_monte_vegas_state_GETF_it_start, ".it_start( self : gsl_monte_vegas_state )=>int" },
  { dao_gsl_monte_vegas_state_SETF_it_start, ".it_start=( self : gsl_monte_vegas_state, it_start : int )" },
  { dao_gsl_monte_vegas_state_GETF_it_num, ".it_num( self : gsl_monte_vegas_state )=>int" },
  { dao_gsl_monte_vegas_state_SETF_it_num, ".it_num=( self : gsl_monte_vegas_state, it_num : int )" },
  { dao_gsl_monte_vegas_state_GETF_samples, ".samples( self : gsl_monte_vegas_state )=>int" },
  { dao_gsl_monte_vegas_state_SETF_samples, ".samples=( self : gsl_monte_vegas_state, samples : int )" },
  { dao_gsl_monte_vegas_state_GETF_calls_per_box, ".calls_per_box( self : gsl_monte_vegas_state )=>int" },
  { dao_gsl_monte_vegas_state_SETF_calls_per_box, ".calls_per_box=( self : gsl_monte_vegas_state, calls_per_box : int )" },
  { dao_gsl_monte_vegas_state_GETF_ostream, ".ostream( self : gsl_monte_vegas_state )=>stream" },
  { dao_gsl_monte_vegas_state_gsl_monte_vegas_state, "gsl_monte_vegas_state(  )=>gsl_monte_vegas_state" },
  { NULL, NULL }
};
static void Dao_gsl_monte_vegas_state_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_monte_vegas_state_Typer = 
{ "gsl_monte_vegas_state", NULL, 
  dao_gsl_monte_vegas_state_Nums,
  dao_gsl_monte_vegas_state_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_monte_vegas_state_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_monte_vegas_state_Typer = & gsl_monte_vegas_state_Typer;
static void dao_gsl_monte_vegas_state_GETF_dim( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->dim );
}
static void dao_gsl_monte_vegas_state_SETF_dim( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->dim = (size_t) _p[1]->v.i;
}
static void dao_gsl_monte_vegas_state_GETF_bins_max( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->bins_max );
}
static void dao_gsl_monte_vegas_state_SETF_bins_max( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->bins_max = (size_t) _p[1]->v.i;
}
static void dao_gsl_monte_vegas_state_GETF_bins( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->bins );
}
static void dao_gsl_monte_vegas_state_SETF_bins( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->bins = (unsigned int) _p[1]->v.i;
}
static void dao_gsl_monte_vegas_state_GETF_boxes( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->boxes );
}
static void dao_gsl_monte_vegas_state_SETF_boxes( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->boxes = (unsigned int) _p[1]->v.i;
}
static void dao_gsl_monte_vegas_state_GETF_xi( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->xi, 0 );
}
static void dao_gsl_monte_vegas_state_GETF_xin( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->xin, 0 );
}
static void dao_gsl_monte_vegas_state_GETF_delx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->delx, 0 );
}
static void dao_gsl_monte_vegas_state_GETF_weight( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->weight, 0 );
}
static void dao_gsl_monte_vegas_state_GETF_vol( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutDouble( _ctx, (double) self->vol );
}
static void dao_gsl_monte_vegas_state_SETF_vol( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->vol = (double) _p[1]->v.d;
}
static void dao_gsl_monte_vegas_state_GETF_x( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->x, 0 );
}
static void dao_gsl_monte_vegas_state_GETF_bin( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutArrayInteger( _ctx, (int*) self->bin, 0 );
}
static void dao_gsl_monte_vegas_state_GETF_box( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutArrayInteger( _ctx, (int*) self->box, 0 );
}
static void dao_gsl_monte_vegas_state_GETF_d( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->d, 0 );
}
static void dao_gsl_monte_vegas_state_GETF_alpha( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutDouble( _ctx, (double) self->alpha );
}
static void dao_gsl_monte_vegas_state_SETF_alpha( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->alpha = (double) _p[1]->v.d;
}
static void dao_gsl_monte_vegas_state_GETF_mode( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->mode );
}
static void dao_gsl_monte_vegas_state_SETF_mode( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->mode = (int) _p[1]->v.i;
}
static void dao_gsl_monte_vegas_state_GETF_verbose( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->verbose );
}
static void dao_gsl_monte_vegas_state_SETF_verbose( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->verbose = (int) _p[1]->v.i;
}
static void dao_gsl_monte_vegas_state_GETF_iterations( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->iterations );
}
static void dao_gsl_monte_vegas_state_SETF_iterations( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->iterations = (unsigned int) _p[1]->v.i;
}
static void dao_gsl_monte_vegas_state_GETF_stage( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->stage );
}
static void dao_gsl_monte_vegas_state_SETF_stage( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->stage = (int) _p[1]->v.i;
}
static void dao_gsl_monte_vegas_state_GETF_jac( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutDouble( _ctx, (double) self->jac );
}
static void dao_gsl_monte_vegas_state_SETF_jac( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->jac = (double) _p[1]->v.d;
}
static void dao_gsl_monte_vegas_state_GETF_wtd_int_sum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutDouble( _ctx, (double) self->wtd_int_sum );
}
static void dao_gsl_monte_vegas_state_SETF_wtd_int_sum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->wtd_int_sum = (double) _p[1]->v.d;
}
static void dao_gsl_monte_vegas_state_GETF_sum_wgts( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutDouble( _ctx, (double) self->sum_wgts );
}
static void dao_gsl_monte_vegas_state_SETF_sum_wgts( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->sum_wgts = (double) _p[1]->v.d;
}
static void dao_gsl_monte_vegas_state_GETF_chi_sum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutDouble( _ctx, (double) self->chi_sum );
}
static void dao_gsl_monte_vegas_state_SETF_chi_sum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->chi_sum = (double) _p[1]->v.d;
}
static void dao_gsl_monte_vegas_state_GETF_chisq( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutDouble( _ctx, (double) self->chisq );
}
static void dao_gsl_monte_vegas_state_SETF_chisq( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->chisq = (double) _p[1]->v.d;
}
static void dao_gsl_monte_vegas_state_GETF_result( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutDouble( _ctx, (double) self->result );
}
static void dao_gsl_monte_vegas_state_SETF_result( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->result = (double) _p[1]->v.d;
}
static void dao_gsl_monte_vegas_state_GETF_sigma( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutDouble( _ctx, (double) self->sigma );
}
static void dao_gsl_monte_vegas_state_SETF_sigma( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->sigma = (double) _p[1]->v.d;
}
static void dao_gsl_monte_vegas_state_GETF_it_start( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->it_start );
}
static void dao_gsl_monte_vegas_state_SETF_it_start( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->it_start = (unsigned int) _p[1]->v.i;
}
static void dao_gsl_monte_vegas_state_GETF_it_num( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->it_num );
}
static void dao_gsl_monte_vegas_state_SETF_it_num( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->it_num = (unsigned int) _p[1]->v.i;
}
static void dao_gsl_monte_vegas_state_GETF_samples( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->samples );
}
static void dao_gsl_monte_vegas_state_SETF_samples( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->samples = (unsigned int) _p[1]->v.i;
}
static void dao_gsl_monte_vegas_state_GETF_calls_per_box( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutInteger( _ctx, (int) self->calls_per_box );
}
static void dao_gsl_monte_vegas_state_SETF_calls_per_box( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  self->calls_per_box = (unsigned int) _p[1]->v.i;
}
static void dao_gsl_monte_vegas_state_GETF_ostream( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state *self = (gsl_monte_vegas_state*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_monte_vegas_state_Typer);
  DaoContext_PutFile( _ctx, (FILE*) self->ostream );
}
static void dao_gsl_monte_vegas_state_gsl_monte_vegas_state( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_monte_vegas_state *self = Dao_gsl_monte_vegas_state_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_monte_vegas_state_Typer );
}

/*  gsl_multifit_nlin.h */


static void dao_gsl_multifit_fdfsolver_GETF_type( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fdfsolver_GETF_fdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fdfsolver_GETF_x( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fdfsolver_GETF_f( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fdfsolver_GETF_J( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fdfsolver_GETF_dx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fdfsolver_GETF_state( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multifit_fdfsolver_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multifit_fdfsolver_gsl_multifit_fdfsolver( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multifit_fdfsolver_Meths[] = 
{
  { dao_gsl_multifit_fdfsolver_GETF_type, ".type( self : gsl_multifit_fdfsolver )=>gsl_multifit_fdfsolver_type" },
  { dao_gsl_multifit_fdfsolver_GETF_fdf, ".fdf( self : gsl_multifit_fdfsolver )=>gsl_multifit_function_fdf" },
  { dao_gsl_multifit_fdfsolver_GETF_x, ".x( self : gsl_multifit_fdfsolver )=>gsl_vector" },
  { dao_gsl_multifit_fdfsolver_GETF_f, ".f( self : gsl_multifit_fdfsolver )=>gsl_vector" },
  { dao_gsl_multifit_fdfsolver_GETF_J, ".J( self : gsl_multifit_fdfsolver )=>gsl_matrix" },
  { dao_gsl_multifit_fdfsolver_GETF_dx, ".dx( self : gsl_multifit_fdfsolver )=>gsl_vector" },
  { dao_gsl_multifit_fdfsolver_GETF_state, ".state( self : gsl_multifit_fdfsolver )=>cdata" },
  { dao_gsl_multifit_fdfsolver_gsl_multifit_fdfsolver, "gsl_multifit_fdfsolver(  )=>gsl_multifit_fdfsolver" },
  { NULL, NULL }
};
static void Dao_gsl_multifit_fdfsolver_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multifit_fdfsolver_Typer = 
{ "gsl_multifit_fdfsolver", NULL, 
  dao_gsl_multifit_fdfsolver_Nums,
  dao_gsl_multifit_fdfsolver_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multifit_fdfsolver_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multifit_fdfsolver_Typer = & gsl_multifit_fdfsolver_Typer;
static void dao_gsl_multifit_fdfsolver_GETF_type( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver *self = (gsl_multifit_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fdfsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->type, dao_gsl_multifit_fdfsolver_type_Typer );
}
static void dao_gsl_multifit_fdfsolver_GETF_fdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver *self = (gsl_multifit_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fdfsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->fdf, dao_gsl_multifit_function_fdf_Typer );
}
static void dao_gsl_multifit_fdfsolver_GETF_x( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver *self = (gsl_multifit_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fdfsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->x, dao_gsl_vector_Typer );
}
static void dao_gsl_multifit_fdfsolver_GETF_f( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver *self = (gsl_multifit_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fdfsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->f, dao_gsl_vector_Typer );
}
static void dao_gsl_multifit_fdfsolver_GETF_J( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver *self = (gsl_multifit_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fdfsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->J, dao_gsl_matrix_Typer );
}
static void dao_gsl_multifit_fdfsolver_GETF_dx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver *self = (gsl_multifit_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fdfsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->dx, dao_gsl_vector_Typer );
}
static void dao_gsl_multifit_fdfsolver_GETF_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver *self = (gsl_multifit_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fdfsolver_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->state, 0 );
}
static void dao_gsl_multifit_fdfsolver_gsl_multifit_fdfsolver( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_multifit_fdfsolver *self = Dao_gsl_multifit_fdfsolver_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_multifit_fdfsolver_Typer );
}

/*  gsl_multifit_nlin.h */


static void dao_gsl_multifit_fdfsolver_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fdfsolver_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fdfsolver_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multifit_fdfsolver_type_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multifit_fdfsolver_type_gsl_multifit_fdfsolver_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multifit_fdfsolver_type_Meths[] = 
{
  { dao_gsl_multifit_fdfsolver_type_GETF_name, ".name( self : gsl_multifit_fdfsolver_type )=>string" },
  { dao_gsl_multifit_fdfsolver_type_GETF_size, ".size( self : gsl_multifit_fdfsolver_type )=>int" },
  { dao_gsl_multifit_fdfsolver_type_SETF_size, ".size=( self : gsl_multifit_fdfsolver_type, size : int )" },
  { dao_gsl_multifit_fdfsolver_type_gsl_multifit_fdfsolver_type, "gsl_multifit_fdfsolver_type(  )=>gsl_multifit_fdfsolver_type" },
  { NULL, NULL }
};
static void Dao_gsl_multifit_fdfsolver_type_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multifit_fdfsolver_type_Typer = 
{ "gsl_multifit_fdfsolver_type", NULL, 
  dao_gsl_multifit_fdfsolver_type_Nums,
  dao_gsl_multifit_fdfsolver_type_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multifit_fdfsolver_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multifit_fdfsolver_type_Typer = & gsl_multifit_fdfsolver_type_Typer;
static void dao_gsl_multifit_fdfsolver_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver_type *self = (gsl_multifit_fdfsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fdfsolver_type_Typer);
  DaoContext_PutMBString( _ctx, (char*) self->name );
}
static void dao_gsl_multifit_fdfsolver_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver_type *self = (gsl_multifit_fdfsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fdfsolver_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_multifit_fdfsolver_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver_type *self = (gsl_multifit_fdfsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fdfsolver_type_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_multifit_fdfsolver_type_gsl_multifit_fdfsolver_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_multifit_fdfsolver_type *self = Dao_gsl_multifit_fdfsolver_type_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_multifit_fdfsolver_type_Typer );
}

/*  gsl_multifit_nlin.h */


static void dao_gsl_multifit_fsolver_GETF_type( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fsolver_GETF_function( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fsolver_GETF_x( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fsolver_GETF_f( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fsolver_GETF_dx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fsolver_GETF_state( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multifit_fsolver_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multifit_fsolver_gsl_multifit_fsolver( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multifit_fsolver_Meths[] = 
{
  { dao_gsl_multifit_fsolver_GETF_type, ".type( self : gsl_multifit_fsolver )=>gsl_multifit_fsolver_type" },
  { dao_gsl_multifit_fsolver_GETF_function, ".function( self : gsl_multifit_fsolver )=>gsl_multifit_function" },
  { dao_gsl_multifit_fsolver_GETF_x, ".x( self : gsl_multifit_fsolver )=>gsl_vector" },
  { dao_gsl_multifit_fsolver_GETF_f, ".f( self : gsl_multifit_fsolver )=>gsl_vector" },
  { dao_gsl_multifit_fsolver_GETF_dx, ".dx( self : gsl_multifit_fsolver )=>gsl_vector" },
  { dao_gsl_multifit_fsolver_GETF_state, ".state( self : gsl_multifit_fsolver )=>cdata" },
  { dao_gsl_multifit_fsolver_gsl_multifit_fsolver, "gsl_multifit_fsolver(  )=>gsl_multifit_fsolver" },
  { NULL, NULL }
};
static void Dao_gsl_multifit_fsolver_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multifit_fsolver_Typer = 
{ "gsl_multifit_fsolver", NULL, 
  dao_gsl_multifit_fsolver_Nums,
  dao_gsl_multifit_fsolver_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multifit_fsolver_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multifit_fsolver_Typer = & gsl_multifit_fsolver_Typer;
static void dao_gsl_multifit_fsolver_GETF_type( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver *self = (gsl_multifit_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->type, dao_gsl_multifit_fsolver_type_Typer );
}
static void dao_gsl_multifit_fsolver_GETF_function( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver *self = (gsl_multifit_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->function, dao_gsl_multifit_function_Typer );
}
static void dao_gsl_multifit_fsolver_GETF_x( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver *self = (gsl_multifit_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->x, dao_gsl_vector_Typer );
}
static void dao_gsl_multifit_fsolver_GETF_f( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver *self = (gsl_multifit_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->f, dao_gsl_vector_Typer );
}
static void dao_gsl_multifit_fsolver_GETF_dx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver *self = (gsl_multifit_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->dx, dao_gsl_vector_Typer );
}
static void dao_gsl_multifit_fsolver_GETF_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver *self = (gsl_multifit_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fsolver_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->state, 0 );
}
static void dao_gsl_multifit_fsolver_gsl_multifit_fsolver( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_multifit_fsolver *self = Dao_gsl_multifit_fsolver_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_multifit_fsolver_Typer );
}

/*  gsl_multifit_nlin.h */


static void dao_gsl_multifit_fsolver_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fsolver_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_fsolver_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multifit_fsolver_type_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multifit_fsolver_type_gsl_multifit_fsolver_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multifit_fsolver_type_Meths[] = 
{
  { dao_gsl_multifit_fsolver_type_GETF_name, ".name( self : gsl_multifit_fsolver_type )=>string" },
  { dao_gsl_multifit_fsolver_type_GETF_size, ".size( self : gsl_multifit_fsolver_type )=>int" },
  { dao_gsl_multifit_fsolver_type_SETF_size, ".size=( self : gsl_multifit_fsolver_type, size : int )" },
  { dao_gsl_multifit_fsolver_type_gsl_multifit_fsolver_type, "gsl_multifit_fsolver_type(  )=>gsl_multifit_fsolver_type" },
  { NULL, NULL }
};
static void Dao_gsl_multifit_fsolver_type_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multifit_fsolver_type_Typer = 
{ "gsl_multifit_fsolver_type", NULL, 
  dao_gsl_multifit_fsolver_type_Nums,
  dao_gsl_multifit_fsolver_type_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multifit_fsolver_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multifit_fsolver_type_Typer = & gsl_multifit_fsolver_type_Typer;
static void dao_gsl_multifit_fsolver_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver_type *self = (gsl_multifit_fsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fsolver_type_Typer);
  DaoContext_PutMBString( _ctx, (char*) self->name );
}
static void dao_gsl_multifit_fsolver_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver_type *self = (gsl_multifit_fsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fsolver_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_multifit_fsolver_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver_type *self = (gsl_multifit_fsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_fsolver_type_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_multifit_fsolver_type_gsl_multifit_fsolver_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_multifit_fsolver_type *self = Dao_gsl_multifit_fsolver_type_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_multifit_fsolver_type_Typer );
}

/*  gsl_multifit_nlin.h */


static void dao_gsl_multifit_function_GETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_function_SETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_function_GETF_p( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_function_SETF_p( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_function_GETF_params( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multifit_function_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multifit_function_gsl_multifit_function( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multifit_function_Meths[] = 
{
  { dao_gsl_multifit_function_GETF_n, ".n( self : gsl_multifit_function )=>int" },
  { dao_gsl_multifit_function_SETF_n, ".n=( self : gsl_multifit_function, n : int )" },
  { dao_gsl_multifit_function_GETF_p, ".p( self : gsl_multifit_function )=>int" },
  { dao_gsl_multifit_function_SETF_p, ".p=( self : gsl_multifit_function, p : int )" },
  { dao_gsl_multifit_function_GETF_params, ".params( self : gsl_multifit_function )=>cdata" },
  { dao_gsl_multifit_function_gsl_multifit_function, "gsl_multifit_function(  )=>gsl_multifit_function" },
  { NULL, NULL }
};
static void Dao_gsl_multifit_function_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multifit_function_Typer = 
{ "gsl_multifit_function", NULL, 
  dao_gsl_multifit_function_Nums,
  dao_gsl_multifit_function_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multifit_function_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multifit_function_Typer = & gsl_multifit_function_Typer;
static void dao_gsl_multifit_function_GETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_function *self = (gsl_multifit_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_function_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n );
}
static void dao_gsl_multifit_function_SETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_function *self = (gsl_multifit_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_function_Typer);
  self->n = (size_t) _p[1]->v.i;
}
static void dao_gsl_multifit_function_GETF_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_function *self = (gsl_multifit_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_function_Typer);
  DaoContext_PutInteger( _ctx, (int) self->p );
}
static void dao_gsl_multifit_function_SETF_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_function *self = (gsl_multifit_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_function_Typer);
  self->p = (size_t) _p[1]->v.i;
}
static void dao_gsl_multifit_function_GETF_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_function *self = (gsl_multifit_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_function_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->params, 0 );
}
static void dao_gsl_multifit_function_gsl_multifit_function( DaoContext *_ctx, DValue *_p[], int _n )
{
	Dao_gsl_multifit_function *self = Dao_gsl_multifit_function_New();
	DaoContext_PutResult( _ctx, (DaoBase*) self->cdata );
}

/*  gsl_multifit_nlin.h */


static void dao_gsl_multifit_function_fdf_GETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_function_fdf_SETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_function_fdf_GETF_p( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_function_fdf_SETF_p( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_function_fdf_GETF_params( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multifit_function_fdf_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multifit_function_fdf_gsl_multifit_function_fdf( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multifit_function_fdf_Meths[] = 
{
  { dao_gsl_multifit_function_fdf_GETF_n, ".n( self : gsl_multifit_function_fdf )=>int" },
  { dao_gsl_multifit_function_fdf_SETF_n, ".n=( self : gsl_multifit_function_fdf, n : int )" },
  { dao_gsl_multifit_function_fdf_GETF_p, ".p( self : gsl_multifit_function_fdf )=>int" },
  { dao_gsl_multifit_function_fdf_SETF_p, ".p=( self : gsl_multifit_function_fdf, p : int )" },
  { dao_gsl_multifit_function_fdf_GETF_params, ".params( self : gsl_multifit_function_fdf )=>cdata" },
  { dao_gsl_multifit_function_fdf_gsl_multifit_function_fdf, "gsl_multifit_function_fdf(  )=>gsl_multifit_function_fdf" },
  { NULL, NULL }
};
static void Dao_gsl_multifit_function_fdf_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multifit_function_fdf_Typer = 
{ "gsl_multifit_function_fdf", NULL, 
  dao_gsl_multifit_function_fdf_Nums,
  dao_gsl_multifit_function_fdf_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multifit_function_fdf_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multifit_function_fdf_Typer = & gsl_multifit_function_fdf_Typer;
static void dao_gsl_multifit_function_fdf_GETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_function_fdf *self = (gsl_multifit_function_fdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_function_fdf_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n );
}
static void dao_gsl_multifit_function_fdf_SETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_function_fdf *self = (gsl_multifit_function_fdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_function_fdf_Typer);
  self->n = (size_t) _p[1]->v.i;
}
static void dao_gsl_multifit_function_fdf_GETF_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_function_fdf *self = (gsl_multifit_function_fdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_function_fdf_Typer);
  DaoContext_PutInteger( _ctx, (int) self->p );
}
static void dao_gsl_multifit_function_fdf_SETF_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_function_fdf *self = (gsl_multifit_function_fdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_function_fdf_Typer);
  self->p = (size_t) _p[1]->v.i;
}
static void dao_gsl_multifit_function_fdf_GETF_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_function_fdf *self = (gsl_multifit_function_fdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_function_fdf_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->params, 0 );
}
static void dao_gsl_multifit_function_fdf_gsl_multifit_function_fdf( DaoContext *_ctx, DValue *_p[], int _n )
{
	Dao_gsl_multifit_function_fdf *self = Dao_gsl_multifit_function_fdf_New();
	DaoContext_PutResult( _ctx, (DaoBase*) self->cdata );
}

/*  gsl_multifit.h */


static void dao_gsl_multifit_linear_workspace_GETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_linear_workspace_SETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_linear_workspace_GETF_p( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_linear_workspace_SETF_p( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_linear_workspace_GETF_A( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_linear_workspace_GETF_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_linear_workspace_GETF_QSI( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_linear_workspace_GETF_S( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_linear_workspace_GETF_t( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_linear_workspace_GETF_xt( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multifit_linear_workspace_GETF_D( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multifit_linear_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multifit_linear_workspace_gsl_multifit_linear_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multifit_linear_workspace_Meths[] = 
{
  { dao_gsl_multifit_linear_workspace_GETF_n, ".n( self : gsl_multifit_linear_workspace )=>int" },
  { dao_gsl_multifit_linear_workspace_SETF_n, ".n=( self : gsl_multifit_linear_workspace, n : int )" },
  { dao_gsl_multifit_linear_workspace_GETF_p, ".p( self : gsl_multifit_linear_workspace )=>int" },
  { dao_gsl_multifit_linear_workspace_SETF_p, ".p=( self : gsl_multifit_linear_workspace, p : int )" },
  { dao_gsl_multifit_linear_workspace_GETF_A, ".A( self : gsl_multifit_linear_workspace )=>gsl_matrix" },
  { dao_gsl_multifit_linear_workspace_GETF_Q, ".Q( self : gsl_multifit_linear_workspace )=>gsl_matrix" },
  { dao_gsl_multifit_linear_workspace_GETF_QSI, ".QSI( self : gsl_multifit_linear_workspace )=>gsl_matrix" },
  { dao_gsl_multifit_linear_workspace_GETF_S, ".S( self : gsl_multifit_linear_workspace )=>gsl_vector" },
  { dao_gsl_multifit_linear_workspace_GETF_t, ".t( self : gsl_multifit_linear_workspace )=>gsl_vector" },
  { dao_gsl_multifit_linear_workspace_GETF_xt, ".xt( self : gsl_multifit_linear_workspace )=>gsl_vector" },
  { dao_gsl_multifit_linear_workspace_GETF_D, ".D( self : gsl_multifit_linear_workspace )=>gsl_vector" },
  { dao_gsl_multifit_linear_workspace_gsl_multifit_linear_workspace, "gsl_multifit_linear_workspace(  )=>gsl_multifit_linear_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_multifit_linear_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multifit_linear_workspace_Typer = 
{ "gsl_multifit_linear_workspace", NULL, 
  dao_gsl_multifit_linear_workspace_Nums,
  dao_gsl_multifit_linear_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multifit_linear_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multifit_linear_workspace_Typer = & gsl_multifit_linear_workspace_Typer;
static void dao_gsl_multifit_linear_workspace_GETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_linear_workspace *self = (gsl_multifit_linear_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_linear_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n );
}
static void dao_gsl_multifit_linear_workspace_SETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_linear_workspace *self = (gsl_multifit_linear_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_linear_workspace_Typer);
  self->n = (size_t) _p[1]->v.i;
}
static void dao_gsl_multifit_linear_workspace_GETF_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_linear_workspace *self = (gsl_multifit_linear_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_linear_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->p );
}
static void dao_gsl_multifit_linear_workspace_SETF_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_linear_workspace *self = (gsl_multifit_linear_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_linear_workspace_Typer);
  self->p = (size_t) _p[1]->v.i;
}
static void dao_gsl_multifit_linear_workspace_GETF_A( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_linear_workspace *self = (gsl_multifit_linear_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_linear_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->A, dao_gsl_matrix_Typer );
}
static void dao_gsl_multifit_linear_workspace_GETF_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_linear_workspace *self = (gsl_multifit_linear_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_linear_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->Q, dao_gsl_matrix_Typer );
}
static void dao_gsl_multifit_linear_workspace_GETF_QSI( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_linear_workspace *self = (gsl_multifit_linear_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_linear_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->QSI, dao_gsl_matrix_Typer );
}
static void dao_gsl_multifit_linear_workspace_GETF_S( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_linear_workspace *self = (gsl_multifit_linear_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_linear_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->S, dao_gsl_vector_Typer );
}
static void dao_gsl_multifit_linear_workspace_GETF_t( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_linear_workspace *self = (gsl_multifit_linear_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_linear_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->t, dao_gsl_vector_Typer );
}
static void dao_gsl_multifit_linear_workspace_GETF_xt( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_linear_workspace *self = (gsl_multifit_linear_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_linear_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->xt, dao_gsl_vector_Typer );
}
static void dao_gsl_multifit_linear_workspace_GETF_D( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_linear_workspace *self = (gsl_multifit_linear_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multifit_linear_workspace_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->D, dao_gsl_vector_Typer );
}
static void dao_gsl_multifit_linear_workspace_gsl_multifit_linear_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_multifit_linear_workspace *self = Dao_gsl_multifit_linear_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_multifit_linear_workspace_Typer );
}

/*  gsl_multimin.h */


static void dao_gsl_multimin_fdfminimizer_GETF_type( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fdfminimizer_GETF_fdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fdfminimizer_GETF_f( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fdfminimizer_SETF_f( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fdfminimizer_GETF_x( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fdfminimizer_GETF_gradient( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fdfminimizer_GETF_dx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fdfminimizer_GETF_state( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multimin_fdfminimizer_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multimin_fdfminimizer_gsl_multimin_fdfminimizer( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multimin_fdfminimizer_Meths[] = 
{
  { dao_gsl_multimin_fdfminimizer_GETF_type, ".type( self : gsl_multimin_fdfminimizer )=>gsl_multimin_fdfminimizer_type" },
  { dao_gsl_multimin_fdfminimizer_GETF_fdf, ".fdf( self : gsl_multimin_fdfminimizer )=>gsl_multimin_function_fdf" },
  { dao_gsl_multimin_fdfminimizer_GETF_f, ".f( self : gsl_multimin_fdfminimizer )=>double" },
  { dao_gsl_multimin_fdfminimizer_SETF_f, ".f=( self : gsl_multimin_fdfminimizer, f : double )" },
  { dao_gsl_multimin_fdfminimizer_GETF_x, ".x( self : gsl_multimin_fdfminimizer )=>gsl_vector" },
  { dao_gsl_multimin_fdfminimizer_GETF_gradient, ".gradient( self : gsl_multimin_fdfminimizer )=>gsl_vector" },
  { dao_gsl_multimin_fdfminimizer_GETF_dx, ".dx( self : gsl_multimin_fdfminimizer )=>gsl_vector" },
  { dao_gsl_multimin_fdfminimizer_GETF_state, ".state( self : gsl_multimin_fdfminimizer )=>cdata" },
  { dao_gsl_multimin_fdfminimizer_gsl_multimin_fdfminimizer, "gsl_multimin_fdfminimizer(  )=>gsl_multimin_fdfminimizer" },
  { NULL, NULL }
};
static void Dao_gsl_multimin_fdfminimizer_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multimin_fdfminimizer_Typer = 
{ "gsl_multimin_fdfminimizer", NULL, 
  dao_gsl_multimin_fdfminimizer_Nums,
  dao_gsl_multimin_fdfminimizer_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multimin_fdfminimizer_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multimin_fdfminimizer_Typer = & gsl_multimin_fdfminimizer_Typer;
static void dao_gsl_multimin_fdfminimizer_GETF_type( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer *self = (gsl_multimin_fdfminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fdfminimizer_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->type, dao_gsl_multimin_fdfminimizer_type_Typer );
}
static void dao_gsl_multimin_fdfminimizer_GETF_fdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer *self = (gsl_multimin_fdfminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fdfminimizer_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->fdf, dao_gsl_multimin_function_fdf_Typer );
}
static void dao_gsl_multimin_fdfminimizer_GETF_f( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer *self = (gsl_multimin_fdfminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fdfminimizer_Typer);
  DaoContext_PutDouble( _ctx, (double) self->f );
}
static void dao_gsl_multimin_fdfminimizer_SETF_f( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer *self = (gsl_multimin_fdfminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fdfminimizer_Typer);
  self->f = (double) _p[1]->v.d;
}
static void dao_gsl_multimin_fdfminimizer_GETF_x( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer *self = (gsl_multimin_fdfminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fdfminimizer_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->x, dao_gsl_vector_Typer );
}
static void dao_gsl_multimin_fdfminimizer_GETF_gradient( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer *self = (gsl_multimin_fdfminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fdfminimizer_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->gradient, dao_gsl_vector_Typer );
}
static void dao_gsl_multimin_fdfminimizer_GETF_dx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer *self = (gsl_multimin_fdfminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fdfminimizer_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->dx, dao_gsl_vector_Typer );
}
static void dao_gsl_multimin_fdfminimizer_GETF_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer *self = (gsl_multimin_fdfminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fdfminimizer_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->state, 0 );
}
static void dao_gsl_multimin_fdfminimizer_gsl_multimin_fdfminimizer( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_multimin_fdfminimizer *self = Dao_gsl_multimin_fdfminimizer_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_multimin_fdfminimizer_Typer );
}

/*  gsl_multimin.h */


static void dao_gsl_multimin_fdfminimizer_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fdfminimizer_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fdfminimizer_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multimin_fdfminimizer_type_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multimin_fdfminimizer_type_gsl_multimin_fdfminimizer_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multimin_fdfminimizer_type_Meths[] = 
{
  { dao_gsl_multimin_fdfminimizer_type_GETF_name, ".name( self : gsl_multimin_fdfminimizer_type )=>string" },
  { dao_gsl_multimin_fdfminimizer_type_GETF_size, ".size( self : gsl_multimin_fdfminimizer_type )=>int" },
  { dao_gsl_multimin_fdfminimizer_type_SETF_size, ".size=( self : gsl_multimin_fdfminimizer_type, size : int )" },
  { dao_gsl_multimin_fdfminimizer_type_gsl_multimin_fdfminimizer_type, "gsl_multimin_fdfminimizer_type(  )=>gsl_multimin_fdfminimizer_type" },
  { NULL, NULL }
};
static void Dao_gsl_multimin_fdfminimizer_type_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multimin_fdfminimizer_type_Typer = 
{ "gsl_multimin_fdfminimizer_type", NULL, 
  dao_gsl_multimin_fdfminimizer_type_Nums,
  dao_gsl_multimin_fdfminimizer_type_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multimin_fdfminimizer_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multimin_fdfminimizer_type_Typer = & gsl_multimin_fdfminimizer_type_Typer;
static void dao_gsl_multimin_fdfminimizer_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer_type *self = (gsl_multimin_fdfminimizer_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fdfminimizer_type_Typer);
  DaoContext_PutMBString( _ctx, (char*) self->name );
}
static void dao_gsl_multimin_fdfminimizer_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer_type *self = (gsl_multimin_fdfminimizer_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fdfminimizer_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_multimin_fdfminimizer_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer_type *self = (gsl_multimin_fdfminimizer_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fdfminimizer_type_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_multimin_fdfminimizer_type_gsl_multimin_fdfminimizer_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_multimin_fdfminimizer_type *self = Dao_gsl_multimin_fdfminimizer_type_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_multimin_fdfminimizer_type_Typer );
}

/*  gsl_multimin.h */


static void dao_gsl_multimin_fminimizer_GETF_type( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fminimizer_GETF_f( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fminimizer_GETF_fval( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fminimizer_SETF_fval( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fminimizer_GETF_x( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fminimizer_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fminimizer_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fminimizer_GETF_state( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multimin_fminimizer_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multimin_fminimizer_gsl_multimin_fminimizer( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multimin_fminimizer_Meths[] = 
{
  { dao_gsl_multimin_fminimizer_GETF_type, ".type( self : gsl_multimin_fminimizer )=>gsl_multimin_fminimizer_type" },
  { dao_gsl_multimin_fminimizer_GETF_f, ".f( self : gsl_multimin_fminimizer )=>gsl_multimin_function" },
  { dao_gsl_multimin_fminimizer_GETF_fval, ".fval( self : gsl_multimin_fminimizer )=>double" },
  { dao_gsl_multimin_fminimizer_SETF_fval, ".fval=( self : gsl_multimin_fminimizer, fval : double )" },
  { dao_gsl_multimin_fminimizer_GETF_x, ".x( self : gsl_multimin_fminimizer )=>gsl_vector" },
  { dao_gsl_multimin_fminimizer_GETF_size, ".size( self : gsl_multimin_fminimizer )=>double" },
  { dao_gsl_multimin_fminimizer_SETF_size, ".size=( self : gsl_multimin_fminimizer, size : double )" },
  { dao_gsl_multimin_fminimizer_GETF_state, ".state( self : gsl_multimin_fminimizer )=>cdata" },
  { dao_gsl_multimin_fminimizer_gsl_multimin_fminimizer, "gsl_multimin_fminimizer(  )=>gsl_multimin_fminimizer" },
  { NULL, NULL }
};
static void Dao_gsl_multimin_fminimizer_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multimin_fminimizer_Typer = 
{ "gsl_multimin_fminimizer", NULL, 
  dao_gsl_multimin_fminimizer_Nums,
  dao_gsl_multimin_fminimizer_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multimin_fminimizer_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multimin_fminimizer_Typer = & gsl_multimin_fminimizer_Typer;
static void dao_gsl_multimin_fminimizer_GETF_type( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer *self = (gsl_multimin_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fminimizer_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->type, dao_gsl_multimin_fminimizer_type_Typer );
}
static void dao_gsl_multimin_fminimizer_GETF_f( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer *self = (gsl_multimin_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fminimizer_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->f, dao_gsl_multimin_function_Typer );
}
static void dao_gsl_multimin_fminimizer_GETF_fval( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer *self = (gsl_multimin_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fminimizer_Typer);
  DaoContext_PutDouble( _ctx, (double) self->fval );
}
static void dao_gsl_multimin_fminimizer_SETF_fval( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer *self = (gsl_multimin_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fminimizer_Typer);
  self->fval = (double) _p[1]->v.d;
}
static void dao_gsl_multimin_fminimizer_GETF_x( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer *self = (gsl_multimin_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fminimizer_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->x, dao_gsl_vector_Typer );
}
static void dao_gsl_multimin_fminimizer_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer *self = (gsl_multimin_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fminimizer_Typer);
  DaoContext_PutDouble( _ctx, (double) self->size );
}
static void dao_gsl_multimin_fminimizer_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer *self = (gsl_multimin_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fminimizer_Typer);
  self->size = (double) _p[1]->v.d;
}
static void dao_gsl_multimin_fminimizer_GETF_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer *self = (gsl_multimin_fminimizer*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fminimizer_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->state, 0 );
}
static void dao_gsl_multimin_fminimizer_gsl_multimin_fminimizer( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_multimin_fminimizer *self = Dao_gsl_multimin_fminimizer_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_multimin_fminimizer_Typer );
}

/*  gsl_multimin.h */


static void dao_gsl_multimin_fminimizer_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fminimizer_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_fminimizer_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multimin_fminimizer_type_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multimin_fminimizer_type_gsl_multimin_fminimizer_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multimin_fminimizer_type_Meths[] = 
{
  { dao_gsl_multimin_fminimizer_type_GETF_name, ".name( self : gsl_multimin_fminimizer_type )=>string" },
  { dao_gsl_multimin_fminimizer_type_GETF_size, ".size( self : gsl_multimin_fminimizer_type )=>int" },
  { dao_gsl_multimin_fminimizer_type_SETF_size, ".size=( self : gsl_multimin_fminimizer_type, size : int )" },
  { dao_gsl_multimin_fminimizer_type_gsl_multimin_fminimizer_type, "gsl_multimin_fminimizer_type(  )=>gsl_multimin_fminimizer_type" },
  { NULL, NULL }
};
static void Dao_gsl_multimin_fminimizer_type_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multimin_fminimizer_type_Typer = 
{ "gsl_multimin_fminimizer_type", NULL, 
  dao_gsl_multimin_fminimizer_type_Nums,
  dao_gsl_multimin_fminimizer_type_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multimin_fminimizer_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multimin_fminimizer_type_Typer = & gsl_multimin_fminimizer_type_Typer;
static void dao_gsl_multimin_fminimizer_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer_type *self = (gsl_multimin_fminimizer_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fminimizer_type_Typer);
  DaoContext_PutMBString( _ctx, (char*) self->name );
}
static void dao_gsl_multimin_fminimizer_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer_type *self = (gsl_multimin_fminimizer_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fminimizer_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_multimin_fminimizer_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer_type *self = (gsl_multimin_fminimizer_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_fminimizer_type_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_multimin_fminimizer_type_gsl_multimin_fminimizer_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_multimin_fminimizer_type *self = Dao_gsl_multimin_fminimizer_type_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_multimin_fminimizer_type_Typer );
}

/*  gsl_multimin.h */


static void dao_gsl_multimin_function_GETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_function_SETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_function_GETF_params( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multimin_function_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multimin_function_gsl_multimin_function( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multimin_function_Meths[] = 
{
  { dao_gsl_multimin_function_GETF_n, ".n( self : gsl_multimin_function )=>int" },
  { dao_gsl_multimin_function_SETF_n, ".n=( self : gsl_multimin_function, n : int )" },
  { dao_gsl_multimin_function_GETF_params, ".params( self : gsl_multimin_function )=>cdata" },
  { dao_gsl_multimin_function_gsl_multimin_function, "gsl_multimin_function(  )=>gsl_multimin_function" },
  { NULL, NULL }
};
static void Dao_gsl_multimin_function_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multimin_function_Typer = 
{ "gsl_multimin_function", NULL, 
  dao_gsl_multimin_function_Nums,
  dao_gsl_multimin_function_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multimin_function_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multimin_function_Typer = & gsl_multimin_function_Typer;
static void dao_gsl_multimin_function_GETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_function *self = (gsl_multimin_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_function_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n );
}
static void dao_gsl_multimin_function_SETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_function *self = (gsl_multimin_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_function_Typer);
  self->n = (size_t) _p[1]->v.i;
}
static void dao_gsl_multimin_function_GETF_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_function *self = (gsl_multimin_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_function_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->params, 0 );
}
static void dao_gsl_multimin_function_gsl_multimin_function( DaoContext *_ctx, DValue *_p[], int _n )
{
	Dao_gsl_multimin_function *self = Dao_gsl_multimin_function_New();
	DaoContext_PutResult( _ctx, (DaoBase*) self->cdata );
}

/*  gsl_multimin.h */


static void dao_gsl_multimin_function_fdf_GETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_function_fdf_SETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multimin_function_fdf_GETF_params( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multimin_function_fdf_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multimin_function_fdf_gsl_multimin_function_fdf( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multimin_function_fdf_Meths[] = 
{
  { dao_gsl_multimin_function_fdf_GETF_n, ".n( self : gsl_multimin_function_fdf )=>int" },
  { dao_gsl_multimin_function_fdf_SETF_n, ".n=( self : gsl_multimin_function_fdf, n : int )" },
  { dao_gsl_multimin_function_fdf_GETF_params, ".params( self : gsl_multimin_function_fdf )=>cdata" },
  { dao_gsl_multimin_function_fdf_gsl_multimin_function_fdf, "gsl_multimin_function_fdf(  )=>gsl_multimin_function_fdf" },
  { NULL, NULL }
};
static void Dao_gsl_multimin_function_fdf_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multimin_function_fdf_Typer = 
{ "gsl_multimin_function_fdf", NULL, 
  dao_gsl_multimin_function_fdf_Nums,
  dao_gsl_multimin_function_fdf_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multimin_function_fdf_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multimin_function_fdf_Typer = & gsl_multimin_function_fdf_Typer;
static void dao_gsl_multimin_function_fdf_GETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_function_fdf *self = (gsl_multimin_function_fdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_function_fdf_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n );
}
static void dao_gsl_multimin_function_fdf_SETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_function_fdf *self = (gsl_multimin_function_fdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_function_fdf_Typer);
  self->n = (size_t) _p[1]->v.i;
}
static void dao_gsl_multimin_function_fdf_GETF_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_function_fdf *self = (gsl_multimin_function_fdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multimin_function_fdf_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->params, 0 );
}
static void dao_gsl_multimin_function_fdf_gsl_multimin_function_fdf( DaoContext *_ctx, DValue *_p[], int _n )
{
	Dao_gsl_multimin_function_fdf *self = Dao_gsl_multimin_function_fdf_New();
	DaoContext_PutResult( _ctx, (DaoBase*) self->cdata );
}

/*  gsl_multiroots.h */


static void dao_gsl_multiroot_fdfsolver_GETF_type( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fdfsolver_GETF_fdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fdfsolver_GETF_x( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fdfsolver_GETF_f( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fdfsolver_GETF_J( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fdfsolver_GETF_dx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fdfsolver_GETF_state( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multiroot_fdfsolver_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multiroot_fdfsolver_gsl_multiroot_fdfsolver( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multiroot_fdfsolver_Meths[] = 
{
  { dao_gsl_multiroot_fdfsolver_GETF_type, ".type( self : gsl_multiroot_fdfsolver )=>gsl_multiroot_fdfsolver_type" },
  { dao_gsl_multiroot_fdfsolver_GETF_fdf, ".fdf( self : gsl_multiroot_fdfsolver )=>gsl_multiroot_function_fdf" },
  { dao_gsl_multiroot_fdfsolver_GETF_x, ".x( self : gsl_multiroot_fdfsolver )=>gsl_vector" },
  { dao_gsl_multiroot_fdfsolver_GETF_f, ".f( self : gsl_multiroot_fdfsolver )=>gsl_vector" },
  { dao_gsl_multiroot_fdfsolver_GETF_J, ".J( self : gsl_multiroot_fdfsolver )=>gsl_matrix" },
  { dao_gsl_multiroot_fdfsolver_GETF_dx, ".dx( self : gsl_multiroot_fdfsolver )=>gsl_vector" },
  { dao_gsl_multiroot_fdfsolver_GETF_state, ".state( self : gsl_multiroot_fdfsolver )=>cdata" },
  { dao_gsl_multiroot_fdfsolver_gsl_multiroot_fdfsolver, "gsl_multiroot_fdfsolver(  )=>gsl_multiroot_fdfsolver" },
  { NULL, NULL }
};
static void Dao_gsl_multiroot_fdfsolver_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multiroot_fdfsolver_Typer = 
{ "gsl_multiroot_fdfsolver", NULL, 
  dao_gsl_multiroot_fdfsolver_Nums,
  dao_gsl_multiroot_fdfsolver_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multiroot_fdfsolver_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multiroot_fdfsolver_Typer = & gsl_multiroot_fdfsolver_Typer;
static void dao_gsl_multiroot_fdfsolver_GETF_type( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver *self = (gsl_multiroot_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fdfsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->type, dao_gsl_multiroot_fdfsolver_type_Typer );
}
static void dao_gsl_multiroot_fdfsolver_GETF_fdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver *self = (gsl_multiroot_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fdfsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->fdf, dao_gsl_multiroot_function_fdf_Typer );
}
static void dao_gsl_multiroot_fdfsolver_GETF_x( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver *self = (gsl_multiroot_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fdfsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->x, dao_gsl_vector_Typer );
}
static void dao_gsl_multiroot_fdfsolver_GETF_f( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver *self = (gsl_multiroot_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fdfsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->f, dao_gsl_vector_Typer );
}
static void dao_gsl_multiroot_fdfsolver_GETF_J( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver *self = (gsl_multiroot_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fdfsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->J, dao_gsl_matrix_Typer );
}
static void dao_gsl_multiroot_fdfsolver_GETF_dx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver *self = (gsl_multiroot_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fdfsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->dx, dao_gsl_vector_Typer );
}
static void dao_gsl_multiroot_fdfsolver_GETF_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver *self = (gsl_multiroot_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fdfsolver_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->state, 0 );
}
static void dao_gsl_multiroot_fdfsolver_gsl_multiroot_fdfsolver( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_multiroot_fdfsolver *self = Dao_gsl_multiroot_fdfsolver_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_multiroot_fdfsolver_Typer );
}

/*  gsl_multiroots.h */


static void dao_gsl_multiroot_fdfsolver_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fdfsolver_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fdfsolver_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multiroot_fdfsolver_type_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multiroot_fdfsolver_type_gsl_multiroot_fdfsolver_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multiroot_fdfsolver_type_Meths[] = 
{
  { dao_gsl_multiroot_fdfsolver_type_GETF_name, ".name( self : gsl_multiroot_fdfsolver_type )=>string" },
  { dao_gsl_multiroot_fdfsolver_type_GETF_size, ".size( self : gsl_multiroot_fdfsolver_type )=>int" },
  { dao_gsl_multiroot_fdfsolver_type_SETF_size, ".size=( self : gsl_multiroot_fdfsolver_type, size : int )" },
  { dao_gsl_multiroot_fdfsolver_type_gsl_multiroot_fdfsolver_type, "gsl_multiroot_fdfsolver_type(  )=>gsl_multiroot_fdfsolver_type" },
  { NULL, NULL }
};
static void Dao_gsl_multiroot_fdfsolver_type_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multiroot_fdfsolver_type_Typer = 
{ "gsl_multiroot_fdfsolver_type", NULL, 
  dao_gsl_multiroot_fdfsolver_type_Nums,
  dao_gsl_multiroot_fdfsolver_type_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multiroot_fdfsolver_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multiroot_fdfsolver_type_Typer = & gsl_multiroot_fdfsolver_type_Typer;
static void dao_gsl_multiroot_fdfsolver_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver_type *self = (gsl_multiroot_fdfsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fdfsolver_type_Typer);
  DaoContext_PutMBString( _ctx, (char*) self->name );
}
static void dao_gsl_multiroot_fdfsolver_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver_type *self = (gsl_multiroot_fdfsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fdfsolver_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_multiroot_fdfsolver_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver_type *self = (gsl_multiroot_fdfsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fdfsolver_type_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_multiroot_fdfsolver_type_gsl_multiroot_fdfsolver_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_multiroot_fdfsolver_type *self = Dao_gsl_multiroot_fdfsolver_type_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_multiroot_fdfsolver_type_Typer );
}

/*  gsl_multiroots.h */


static void dao_gsl_multiroot_fsolver_GETF_type( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fsolver_GETF_function( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fsolver_GETF_x( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fsolver_GETF_f( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fsolver_GETF_dx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fsolver_GETF_state( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multiroot_fsolver_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multiroot_fsolver_gsl_multiroot_fsolver( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multiroot_fsolver_Meths[] = 
{
  { dao_gsl_multiroot_fsolver_GETF_type, ".type( self : gsl_multiroot_fsolver )=>gsl_multiroot_fsolver_type" },
  { dao_gsl_multiroot_fsolver_GETF_function, ".function( self : gsl_multiroot_fsolver )=>gsl_multiroot_function" },
  { dao_gsl_multiroot_fsolver_GETF_x, ".x( self : gsl_multiroot_fsolver )=>gsl_vector" },
  { dao_gsl_multiroot_fsolver_GETF_f, ".f( self : gsl_multiroot_fsolver )=>gsl_vector" },
  { dao_gsl_multiroot_fsolver_GETF_dx, ".dx( self : gsl_multiroot_fsolver )=>gsl_vector" },
  { dao_gsl_multiroot_fsolver_GETF_state, ".state( self : gsl_multiroot_fsolver )=>cdata" },
  { dao_gsl_multiroot_fsolver_gsl_multiroot_fsolver, "gsl_multiroot_fsolver(  )=>gsl_multiroot_fsolver" },
  { NULL, NULL }
};
static void Dao_gsl_multiroot_fsolver_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multiroot_fsolver_Typer = 
{ "gsl_multiroot_fsolver", NULL, 
  dao_gsl_multiroot_fsolver_Nums,
  dao_gsl_multiroot_fsolver_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multiroot_fsolver_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multiroot_fsolver_Typer = & gsl_multiroot_fsolver_Typer;
static void dao_gsl_multiroot_fsolver_GETF_type( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver *self = (gsl_multiroot_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->type, dao_gsl_multiroot_fsolver_type_Typer );
}
static void dao_gsl_multiroot_fsolver_GETF_function( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver *self = (gsl_multiroot_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->function, dao_gsl_multiroot_function_Typer );
}
static void dao_gsl_multiroot_fsolver_GETF_x( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver *self = (gsl_multiroot_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->x, dao_gsl_vector_Typer );
}
static void dao_gsl_multiroot_fsolver_GETF_f( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver *self = (gsl_multiroot_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->f, dao_gsl_vector_Typer );
}
static void dao_gsl_multiroot_fsolver_GETF_dx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver *self = (gsl_multiroot_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->dx, dao_gsl_vector_Typer );
}
static void dao_gsl_multiroot_fsolver_GETF_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver *self = (gsl_multiroot_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fsolver_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->state, 0 );
}
static void dao_gsl_multiroot_fsolver_gsl_multiroot_fsolver( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_multiroot_fsolver *self = Dao_gsl_multiroot_fsolver_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_multiroot_fsolver_Typer );
}

/*  gsl_multiroots.h */


static void dao_gsl_multiroot_fsolver_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fsolver_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_fsolver_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multiroot_fsolver_type_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multiroot_fsolver_type_gsl_multiroot_fsolver_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multiroot_fsolver_type_Meths[] = 
{
  { dao_gsl_multiroot_fsolver_type_GETF_name, ".name( self : gsl_multiroot_fsolver_type )=>string" },
  { dao_gsl_multiroot_fsolver_type_GETF_size, ".size( self : gsl_multiroot_fsolver_type )=>int" },
  { dao_gsl_multiroot_fsolver_type_SETF_size, ".size=( self : gsl_multiroot_fsolver_type, size : int )" },
  { dao_gsl_multiroot_fsolver_type_gsl_multiroot_fsolver_type, "gsl_multiroot_fsolver_type(  )=>gsl_multiroot_fsolver_type" },
  { NULL, NULL }
};
static void Dao_gsl_multiroot_fsolver_type_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multiroot_fsolver_type_Typer = 
{ "gsl_multiroot_fsolver_type", NULL, 
  dao_gsl_multiroot_fsolver_type_Nums,
  dao_gsl_multiroot_fsolver_type_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multiroot_fsolver_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multiroot_fsolver_type_Typer = & gsl_multiroot_fsolver_type_Typer;
static void dao_gsl_multiroot_fsolver_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver_type *self = (gsl_multiroot_fsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fsolver_type_Typer);
  DaoContext_PutMBString( _ctx, (char*) self->name );
}
static void dao_gsl_multiroot_fsolver_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver_type *self = (gsl_multiroot_fsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fsolver_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_multiroot_fsolver_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver_type *self = (gsl_multiroot_fsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_fsolver_type_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_multiroot_fsolver_type_gsl_multiroot_fsolver_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_multiroot_fsolver_type *self = Dao_gsl_multiroot_fsolver_type_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_multiroot_fsolver_type_Typer );
}

/*  gsl_multiroots.h */


static void dao_gsl_multiroot_function_GETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_function_SETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_function_GETF_params( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multiroot_function_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multiroot_function_gsl_multiroot_function( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multiroot_function_Meths[] = 
{
  { dao_gsl_multiroot_function_GETF_n, ".n( self : gsl_multiroot_function )=>int" },
  { dao_gsl_multiroot_function_SETF_n, ".n=( self : gsl_multiroot_function, n : int )" },
  { dao_gsl_multiroot_function_GETF_params, ".params( self : gsl_multiroot_function )=>cdata" },
  { dao_gsl_multiroot_function_gsl_multiroot_function, "gsl_multiroot_function(  )=>gsl_multiroot_function" },
  { NULL, NULL }
};
static void Dao_gsl_multiroot_function_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multiroot_function_Typer = 
{ "gsl_multiroot_function", NULL, 
  dao_gsl_multiroot_function_Nums,
  dao_gsl_multiroot_function_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multiroot_function_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multiroot_function_Typer = & gsl_multiroot_function_Typer;
static void dao_gsl_multiroot_function_GETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_function *self = (gsl_multiroot_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_function_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n );
}
static void dao_gsl_multiroot_function_SETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_function *self = (gsl_multiroot_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_function_Typer);
  self->n = (size_t) _p[1]->v.i;
}
static void dao_gsl_multiroot_function_GETF_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_function *self = (gsl_multiroot_function*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_function_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->params, 0 );
}
static void dao_gsl_multiroot_function_gsl_multiroot_function( DaoContext *_ctx, DValue *_p[], int _n )
{
	Dao_gsl_multiroot_function *self = Dao_gsl_multiroot_function_New();
	DaoContext_PutResult( _ctx, (DaoBase*) self->cdata );
}

/*  gsl_multiroots.h */


static void dao_gsl_multiroot_function_fdf_GETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_function_fdf_SETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_multiroot_function_fdf_GETF_params( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_multiroot_function_fdf_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_multiroot_function_fdf_gsl_multiroot_function_fdf( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_multiroot_function_fdf_Meths[] = 
{
  { dao_gsl_multiroot_function_fdf_GETF_n, ".n( self : gsl_multiroot_function_fdf )=>int" },
  { dao_gsl_multiroot_function_fdf_SETF_n, ".n=( self : gsl_multiroot_function_fdf, n : int )" },
  { dao_gsl_multiroot_function_fdf_GETF_params, ".params( self : gsl_multiroot_function_fdf )=>cdata" },
  { dao_gsl_multiroot_function_fdf_gsl_multiroot_function_fdf, "gsl_multiroot_function_fdf(  )=>gsl_multiroot_function_fdf" },
  { NULL, NULL }
};
static void Dao_gsl_multiroot_function_fdf_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_multiroot_function_fdf_Typer = 
{ "gsl_multiroot_function_fdf", NULL, 
  dao_gsl_multiroot_function_fdf_Nums,
  dao_gsl_multiroot_function_fdf_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_multiroot_function_fdf_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_multiroot_function_fdf_Typer = & gsl_multiroot_function_fdf_Typer;
static void dao_gsl_multiroot_function_fdf_GETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_function_fdf *self = (gsl_multiroot_function_fdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_function_fdf_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n );
}
static void dao_gsl_multiroot_function_fdf_SETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_function_fdf *self = (gsl_multiroot_function_fdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_function_fdf_Typer);
  self->n = (size_t) _p[1]->v.i;
}
static void dao_gsl_multiroot_function_fdf_GETF_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_function_fdf *self = (gsl_multiroot_function_fdf*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_multiroot_function_fdf_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->params, 0 );
}
static void dao_gsl_multiroot_function_fdf_gsl_multiroot_function_fdf( DaoContext *_ctx, DValue *_p[], int _n )
{
	Dao_gsl_multiroot_function_fdf *self = Dao_gsl_multiroot_function_fdf_New();
	DaoContext_PutResult( _ctx, (DaoBase*) self->cdata );
}

/*  gsl_ntuple.h */


static void dao_gsl_ntuple_GETF_file( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_ntuple_GETF_ntuple_data( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_ntuple_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_ntuple_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_ntuple_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_ntuple_gsl_ntuple( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_ntuple_Meths[] = 
{
  { dao_gsl_ntuple_GETF_file, ".file( self : gsl_ntuple )=>stream" },
  { dao_gsl_ntuple_GETF_ntuple_data, ".ntuple_data( self : gsl_ntuple )=>cdata" },
  { dao_gsl_ntuple_GETF_size, ".size( self : gsl_ntuple )=>int" },
  { dao_gsl_ntuple_SETF_size, ".size=( self : gsl_ntuple, size : int )" },
  { dao_gsl_ntuple_gsl_ntuple, "gsl_ntuple(  )=>gsl_ntuple" },
  { NULL, NULL }
};
static void Dao_gsl_ntuple_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_ntuple_Typer = 
{ "gsl_ntuple", NULL, 
  dao_gsl_ntuple_Nums,
  dao_gsl_ntuple_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_ntuple_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_ntuple_Typer = & gsl_ntuple_Typer;
static void dao_gsl_ntuple_GETF_file( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ntuple *self = (gsl_ntuple*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_ntuple_Typer);
  DaoContext_PutFile( _ctx, (FILE*) self->file );
}
static void dao_gsl_ntuple_GETF_ntuple_data( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ntuple *self = (gsl_ntuple*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_ntuple_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->ntuple_data, 0 );
}
static void dao_gsl_ntuple_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ntuple *self = (gsl_ntuple*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_ntuple_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_ntuple_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ntuple *self = (gsl_ntuple*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_ntuple_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_ntuple_gsl_ntuple( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_ntuple *self = Dao_gsl_ntuple_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_ntuple_Typer );
}

/*  gsl_ntuple.h */


static void dao_gsl_ntuple_select_fn_GETF_params( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_ntuple_select_fn_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_ntuple_select_fn_gsl_ntuple_select_fn( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_ntuple_select_fn_Meths[] = 
{
  { dao_gsl_ntuple_select_fn_GETF_params, ".params( self : gsl_ntuple_select_fn )=>cdata" },
  { dao_gsl_ntuple_select_fn_gsl_ntuple_select_fn, "gsl_ntuple_select_fn(  )=>gsl_ntuple_select_fn" },
  { NULL, NULL }
};
static void Dao_gsl_ntuple_select_fn_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_ntuple_select_fn_Typer = 
{ "gsl_ntuple_select_fn", NULL, 
  dao_gsl_ntuple_select_fn_Nums,
  dao_gsl_ntuple_select_fn_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_ntuple_select_fn_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_ntuple_select_fn_Typer = & gsl_ntuple_select_fn_Typer;
static void dao_gsl_ntuple_select_fn_GETF_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ntuple_select_fn *self = (gsl_ntuple_select_fn*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_ntuple_select_fn_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->params, 0 );
}
static void dao_gsl_ntuple_select_fn_gsl_ntuple_select_fn( DaoContext *_ctx, DValue *_p[], int _n )
{
	Dao_gsl_ntuple_select_fn *self = Dao_gsl_ntuple_select_fn_New();
	DaoContext_PutResult( _ctx, (DaoBase*) self->cdata );
}

/*  gsl_ntuple.h */


static void dao_gsl_ntuple_value_fn_GETF_params( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_ntuple_value_fn_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_ntuple_value_fn_gsl_ntuple_value_fn( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_ntuple_value_fn_Meths[] = 
{
  { dao_gsl_ntuple_value_fn_GETF_params, ".params( self : gsl_ntuple_value_fn )=>cdata" },
  { dao_gsl_ntuple_value_fn_gsl_ntuple_value_fn, "gsl_ntuple_value_fn(  )=>gsl_ntuple_value_fn" },
  { NULL, NULL }
};
static void Dao_gsl_ntuple_value_fn_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_ntuple_value_fn_Typer = 
{ "gsl_ntuple_value_fn", NULL, 
  dao_gsl_ntuple_value_fn_Nums,
  dao_gsl_ntuple_value_fn_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_ntuple_value_fn_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_ntuple_value_fn_Typer = & gsl_ntuple_value_fn_Typer;
static void dao_gsl_ntuple_value_fn_GETF_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ntuple_value_fn *self = (gsl_ntuple_value_fn*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_ntuple_value_fn_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->params, 0 );
}
static void dao_gsl_ntuple_value_fn_gsl_ntuple_value_fn( DaoContext *_ctx, DValue *_p[], int _n )
{
	Dao_gsl_ntuple_value_fn *self = Dao_gsl_ntuple_value_fn_New();
	DaoContext_PutResult( _ctx, (DaoBase*) self->cdata );
}

/*  gsl_odeiv.h */


static void dao_gsl_odeiv_control_GETF_type( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_control_GETF_state( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_odeiv_control_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_odeiv_control_gsl_odeiv_control( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_odeiv_control_Meths[] = 
{
  { dao_gsl_odeiv_control_GETF_type, ".type( self : gsl_odeiv_control )=>gsl_odeiv_control_type" },
  { dao_gsl_odeiv_control_GETF_state, ".state( self : gsl_odeiv_control )=>cdata" },
  { dao_gsl_odeiv_control_gsl_odeiv_control, "gsl_odeiv_control(  )=>gsl_odeiv_control" },
  { NULL, NULL }
};
static void Dao_gsl_odeiv_control_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_odeiv_control_Typer = 
{ "gsl_odeiv_control", NULL, 
  dao_gsl_odeiv_control_Nums,
  dao_gsl_odeiv_control_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_odeiv_control_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_odeiv_control_Typer = & gsl_odeiv_control_Typer;
static void dao_gsl_odeiv_control_GETF_type( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_control *self = (gsl_odeiv_control*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_control_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->type, dao_gsl_odeiv_control_type_Typer );
}
static void dao_gsl_odeiv_control_GETF_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_control *self = (gsl_odeiv_control*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_control_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->state, 0 );
}
static void dao_gsl_odeiv_control_gsl_odeiv_control( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_odeiv_control *self = Dao_gsl_odeiv_control_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_odeiv_control_Typer );
}

/*  gsl_odeiv.h */


static void dao_gsl_odeiv_control_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_odeiv_control_type_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_odeiv_control_type_gsl_odeiv_control_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_odeiv_control_type_Meths[] = 
{
  { dao_gsl_odeiv_control_type_GETF_name, ".name( self : gsl_odeiv_control_type )=>string" },
  { dao_gsl_odeiv_control_type_gsl_odeiv_control_type, "gsl_odeiv_control_type(  )=>gsl_odeiv_control_type" },
  { NULL, NULL }
};
static void Dao_gsl_odeiv_control_type_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_odeiv_control_type_Typer = 
{ "gsl_odeiv_control_type", NULL, 
  dao_gsl_odeiv_control_type_Nums,
  dao_gsl_odeiv_control_type_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_odeiv_control_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_odeiv_control_type_Typer = & gsl_odeiv_control_type_Typer;
static void dao_gsl_odeiv_control_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_control_type *self = (gsl_odeiv_control_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_control_type_Typer);
  DaoContext_PutMBString( _ctx, (char*) self->name );
}
static void dao_gsl_odeiv_control_type_gsl_odeiv_control_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_odeiv_control_type *self = Dao_gsl_odeiv_control_type_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_odeiv_control_type_Typer );
}

/*  gsl_odeiv.h */


static void dao_gsl_odeiv_evolve_GETF_dimension( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_evolve_SETF_dimension( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_evolve_GETF_y0( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_evolve_GETF_yerr( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_evolve_GETF_dydt_in( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_evolve_GETF_dydt_out( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_evolve_GETF_last_step( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_evolve_SETF_last_step( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_evolve_GETF_count( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_evolve_SETF_count( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_evolve_GETF_failed_steps( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_evolve_SETF_failed_steps( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_odeiv_evolve_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_odeiv_evolve_gsl_odeiv_evolve( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_odeiv_evolve_Meths[] = 
{
  { dao_gsl_odeiv_evolve_GETF_dimension, ".dimension( self : gsl_odeiv_evolve )=>int" },
  { dao_gsl_odeiv_evolve_SETF_dimension, ".dimension=( self : gsl_odeiv_evolve, dimension : int )" },
  { dao_gsl_odeiv_evolve_GETF_y0, ".y0( self : gsl_odeiv_evolve )=>double" },
  { dao_gsl_odeiv_evolve_GETF_yerr, ".yerr( self : gsl_odeiv_evolve )=>double" },
  { dao_gsl_odeiv_evolve_GETF_dydt_in, ".dydt_in( self : gsl_odeiv_evolve )=>double" },
  { dao_gsl_odeiv_evolve_GETF_dydt_out, ".dydt_out( self : gsl_odeiv_evolve )=>double" },
  { dao_gsl_odeiv_evolve_GETF_last_step, ".last_step( self : gsl_odeiv_evolve )=>double" },
  { dao_gsl_odeiv_evolve_SETF_last_step, ".last_step=( self : gsl_odeiv_evolve, last_step : double )" },
  { dao_gsl_odeiv_evolve_GETF_count, ".count( self : gsl_odeiv_evolve )=>int" },
  { dao_gsl_odeiv_evolve_SETF_count, ".count=( self : gsl_odeiv_evolve, count : int )" },
  { dao_gsl_odeiv_evolve_GETF_failed_steps, ".failed_steps( self : gsl_odeiv_evolve )=>int" },
  { dao_gsl_odeiv_evolve_SETF_failed_steps, ".failed_steps=( self : gsl_odeiv_evolve, failed_steps : int )" },
  { dao_gsl_odeiv_evolve_gsl_odeiv_evolve, "gsl_odeiv_evolve(  )=>gsl_odeiv_evolve" },
  { NULL, NULL }
};
static void Dao_gsl_odeiv_evolve_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_odeiv_evolve_Typer = 
{ "gsl_odeiv_evolve", NULL, 
  dao_gsl_odeiv_evolve_Nums,
  dao_gsl_odeiv_evolve_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_odeiv_evolve_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_odeiv_evolve_Typer = & gsl_odeiv_evolve_Typer;
static void dao_gsl_odeiv_evolve_GETF_dimension( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve *self = (gsl_odeiv_evolve*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_evolve_Typer);
  DaoContext_PutInteger( _ctx, (int) self->dimension );
}
static void dao_gsl_odeiv_evolve_SETF_dimension( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve *self = (gsl_odeiv_evolve*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_evolve_Typer);
  self->dimension = (size_t) _p[1]->v.i;
}
static void dao_gsl_odeiv_evolve_GETF_y0( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve *self = (gsl_odeiv_evolve*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_evolve_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->y0, 0 );
}
static void dao_gsl_odeiv_evolve_GETF_yerr( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve *self = (gsl_odeiv_evolve*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_evolve_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->yerr, 0 );
}
static void dao_gsl_odeiv_evolve_GETF_dydt_in( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve *self = (gsl_odeiv_evolve*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_evolve_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->dydt_in, 0 );
}
static void dao_gsl_odeiv_evolve_GETF_dydt_out( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve *self = (gsl_odeiv_evolve*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_evolve_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->dydt_out, 0 );
}
static void dao_gsl_odeiv_evolve_GETF_last_step( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve *self = (gsl_odeiv_evolve*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_evolve_Typer);
  DaoContext_PutDouble( _ctx, (double) self->last_step );
}
static void dao_gsl_odeiv_evolve_SETF_last_step( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve *self = (gsl_odeiv_evolve*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_evolve_Typer);
  self->last_step = (double) _p[1]->v.d;
}
static void dao_gsl_odeiv_evolve_GETF_count( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve *self = (gsl_odeiv_evolve*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_evolve_Typer);
  DaoContext_PutInteger( _ctx, (int) self->count );
}
static void dao_gsl_odeiv_evolve_SETF_count( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve *self = (gsl_odeiv_evolve*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_evolve_Typer);
  self->count = (unsigned long int) _p[1]->v.i;
}
static void dao_gsl_odeiv_evolve_GETF_failed_steps( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve *self = (gsl_odeiv_evolve*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_evolve_Typer);
  DaoContext_PutInteger( _ctx, (int) self->failed_steps );
}
static void dao_gsl_odeiv_evolve_SETF_failed_steps( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve *self = (gsl_odeiv_evolve*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_evolve_Typer);
  self->failed_steps = (unsigned long int) _p[1]->v.i;
}
static void dao_gsl_odeiv_evolve_gsl_odeiv_evolve( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_odeiv_evolve *self = Dao_gsl_odeiv_evolve_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_odeiv_evolve_Typer );
}

/*  gsl_odeiv.h */


static void dao_gsl_odeiv_step_GETF_type( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_step_GETF_dimension( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_step_SETF_dimension( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_step_GETF_state( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_odeiv_step_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_odeiv_step_gsl_odeiv_step( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_odeiv_step_Meths[] = 
{
  { dao_gsl_odeiv_step_GETF_type, ".type( self : gsl_odeiv_step )=>gsl_odeiv_step_type" },
  { dao_gsl_odeiv_step_GETF_dimension, ".dimension( self : gsl_odeiv_step )=>int" },
  { dao_gsl_odeiv_step_SETF_dimension, ".dimension=( self : gsl_odeiv_step, dimension : int )" },
  { dao_gsl_odeiv_step_GETF_state, ".state( self : gsl_odeiv_step )=>cdata" },
  { dao_gsl_odeiv_step_gsl_odeiv_step, "gsl_odeiv_step(  )=>gsl_odeiv_step" },
  { NULL, NULL }
};
static void Dao_gsl_odeiv_step_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_odeiv_step_Typer = 
{ "gsl_odeiv_step", NULL, 
  dao_gsl_odeiv_step_Nums,
  dao_gsl_odeiv_step_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_odeiv_step_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_odeiv_step_Typer = & gsl_odeiv_step_Typer;
static void dao_gsl_odeiv_step_GETF_type( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step *self = (gsl_odeiv_step*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_step_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->type, dao_gsl_odeiv_step_type_Typer );
}
static void dao_gsl_odeiv_step_GETF_dimension( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step *self = (gsl_odeiv_step*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_step_Typer);
  DaoContext_PutInteger( _ctx, (int) self->dimension );
}
static void dao_gsl_odeiv_step_SETF_dimension( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step *self = (gsl_odeiv_step*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_step_Typer);
  self->dimension = (size_t) _p[1]->v.i;
}
static void dao_gsl_odeiv_step_GETF_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step *self = (gsl_odeiv_step*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_step_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->state, 0 );
}
static void dao_gsl_odeiv_step_gsl_odeiv_step( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_odeiv_step *self = Dao_gsl_odeiv_step_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_odeiv_step_Typer );
}

/*  gsl_odeiv.h */


static void dao_gsl_odeiv_step_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_step_type_GETF_can_use_dydt_in( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_step_type_SETF_can_use_dydt_in( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_step_type_GETF_gives_exact_dydt_out( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_step_type_SETF_gives_exact_dydt_out( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_odeiv_step_type_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_odeiv_step_type_gsl_odeiv_step_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_odeiv_step_type_Meths[] = 
{
  { dao_gsl_odeiv_step_type_GETF_name, ".name( self : gsl_odeiv_step_type )=>string" },
  { dao_gsl_odeiv_step_type_GETF_can_use_dydt_in, ".can_use_dydt_in( self : gsl_odeiv_step_type )=>int" },
  { dao_gsl_odeiv_step_type_SETF_can_use_dydt_in, ".can_use_dydt_in=( self : gsl_odeiv_step_type, can_use_dydt_in : int )" },
  { dao_gsl_odeiv_step_type_GETF_gives_exact_dydt_out, ".gives_exact_dydt_out( self : gsl_odeiv_step_type )=>int" },
  { dao_gsl_odeiv_step_type_SETF_gives_exact_dydt_out, ".gives_exact_dydt_out=( self : gsl_odeiv_step_type, gives_exact_dydt_out : int )" },
  { dao_gsl_odeiv_step_type_gsl_odeiv_step_type, "gsl_odeiv_step_type(  )=>gsl_odeiv_step_type" },
  { NULL, NULL }
};
static void Dao_gsl_odeiv_step_type_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_odeiv_step_type_Typer = 
{ "gsl_odeiv_step_type", NULL, 
  dao_gsl_odeiv_step_type_Nums,
  dao_gsl_odeiv_step_type_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_odeiv_step_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_odeiv_step_type_Typer = & gsl_odeiv_step_type_Typer;
static void dao_gsl_odeiv_step_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step_type *self = (gsl_odeiv_step_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_step_type_Typer);
  DaoContext_PutMBString( _ctx, (char*) self->name );
}
static void dao_gsl_odeiv_step_type_GETF_can_use_dydt_in( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step_type *self = (gsl_odeiv_step_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_step_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->can_use_dydt_in );
}
static void dao_gsl_odeiv_step_type_SETF_can_use_dydt_in( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step_type *self = (gsl_odeiv_step_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_step_type_Typer);
  self->can_use_dydt_in = (int) _p[1]->v.i;
}
static void dao_gsl_odeiv_step_type_GETF_gives_exact_dydt_out( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step_type *self = (gsl_odeiv_step_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_step_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->gives_exact_dydt_out );
}
static void dao_gsl_odeiv_step_type_SETF_gives_exact_dydt_out( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step_type *self = (gsl_odeiv_step_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_step_type_Typer);
  self->gives_exact_dydt_out = (int) _p[1]->v.i;
}
static void dao_gsl_odeiv_step_type_gsl_odeiv_step_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_odeiv_step_type *self = Dao_gsl_odeiv_step_type_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_odeiv_step_type_Typer );
}

/*  gsl_odeiv.h */


static void dao_gsl_odeiv_system_GETF_dimension( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_system_SETF_dimension( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_odeiv_system_GETF_params( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_odeiv_system_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_odeiv_system_gsl_odeiv_system( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_odeiv_system_Meths[] = 
{
  { dao_gsl_odeiv_system_GETF_dimension, ".dimension( self : gsl_odeiv_system )=>int" },
  { dao_gsl_odeiv_system_SETF_dimension, ".dimension=( self : gsl_odeiv_system, dimension : int )" },
  { dao_gsl_odeiv_system_GETF_params, ".params( self : gsl_odeiv_system )=>cdata" },
  { dao_gsl_odeiv_system_gsl_odeiv_system, "gsl_odeiv_system(  )=>gsl_odeiv_system" },
  { NULL, NULL }
};
static void Dao_gsl_odeiv_system_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_odeiv_system_Typer = 
{ "gsl_odeiv_system", NULL, 
  dao_gsl_odeiv_system_Nums,
  dao_gsl_odeiv_system_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_odeiv_system_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_odeiv_system_Typer = & gsl_odeiv_system_Typer;
static void dao_gsl_odeiv_system_GETF_dimension( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_system *self = (gsl_odeiv_system*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_system_Typer);
  DaoContext_PutInteger( _ctx, (int) self->dimension );
}
static void dao_gsl_odeiv_system_SETF_dimension( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_system *self = (gsl_odeiv_system*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_system_Typer);
  self->dimension = (size_t) _p[1]->v.i;
}
static void dao_gsl_odeiv_system_GETF_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_system *self = (gsl_odeiv_system*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_odeiv_system_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->params, 0 );
}
static void dao_gsl_odeiv_system_gsl_odeiv_system( DaoContext *_ctx, DValue *_p[], int _n )
{
	Dao_gsl_odeiv_system *self = Dao_gsl_odeiv_system_New();
	DaoContext_PutResult( _ctx, (DaoBase*) self->cdata );
}

/*  gsl_randist.h */


static void dao_gsl_ran_discrete_t_GETF_K( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_ran_discrete_t_SETF_K( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_ran_discrete_t_GETF_A( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_ran_discrete_t_GETF_F( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_ran_discrete_t_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_ran_discrete_t_gsl_ran_discrete_t( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_ran_discrete_t_Meths[] = 
{
  { dao_gsl_ran_discrete_t_GETF_K, ".K( self : gsl_ran_discrete_t )=>int" },
  { dao_gsl_ran_discrete_t_SETF_K, ".K=( self : gsl_ran_discrete_t, K : int )" },
  { dao_gsl_ran_discrete_t_GETF_A, ".A( self : gsl_ran_discrete_t )=>int" },
  { dao_gsl_ran_discrete_t_GETF_F, ".F( self : gsl_ran_discrete_t )=>double" },
  { dao_gsl_ran_discrete_t_gsl_ran_discrete_t, "gsl_ran_discrete_t(  )=>gsl_ran_discrete_t" },
  { NULL, NULL }
};
static void Dao_gsl_ran_discrete_t_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_ran_discrete_t_Typer = 
{ "gsl_ran_discrete_t", NULL, 
  dao_gsl_ran_discrete_t_Nums,
  dao_gsl_ran_discrete_t_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_ran_discrete_t_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_ran_discrete_t_Typer = & gsl_ran_discrete_t_Typer;
static void dao_gsl_ran_discrete_t_GETF_K( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ran_discrete_t *self = (gsl_ran_discrete_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_ran_discrete_t_Typer);
  DaoContext_PutInteger( _ctx, (int) self->K );
}
static void dao_gsl_ran_discrete_t_SETF_K( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ran_discrete_t *self = (gsl_ran_discrete_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_ran_discrete_t_Typer);
  self->K = (size_t) _p[1]->v.i;
}
static void dao_gsl_ran_discrete_t_GETF_A( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ran_discrete_t *self = (gsl_ran_discrete_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_ran_discrete_t_Typer);
  DaoContext_PutArrayInteger( _ctx, (int*) self->A, 0 );
}
static void dao_gsl_ran_discrete_t_GETF_F( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ran_discrete_t *self = (gsl_ran_discrete_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_ran_discrete_t_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->F, 0 );
}
static void dao_gsl_ran_discrete_t_gsl_ran_discrete_t( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_ran_discrete_t *self = Dao_gsl_ran_discrete_t_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_ran_discrete_t_Typer );
}

/*  gsl_rng.h */


static void dao_gsl_rng_GETF_type( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_rng_GETF_state( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_rng_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_rng_gsl_rng( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_rng_Meths[] = 
{
  { dao_gsl_rng_GETF_type, ".type( self : gsl_rng )=>gsl_rng_type" },
  { dao_gsl_rng_GETF_state, ".state( self : gsl_rng )=>cdata" },
  { dao_gsl_rng_gsl_rng, "gsl_rng(  )=>gsl_rng" },
  { NULL, NULL }
};
static void Dao_gsl_rng_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_rng_Typer = 
{ "gsl_rng", NULL, 
  dao_gsl_rng_Nums,
  dao_gsl_rng_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_rng_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_rng_Typer = & gsl_rng_Typer;
static void dao_gsl_rng_GETF_type( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng *self = (gsl_rng*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_rng_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->type, dao_gsl_rng_type_Typer );
}
static void dao_gsl_rng_GETF_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng *self = (gsl_rng*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_rng_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->state, 0 );
}
static void dao_gsl_rng_gsl_rng( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_rng *self = Dao_gsl_rng_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_rng_Typer );
}

/*  gsl_rng.h */


static void dao_gsl_rng_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_rng_type_GETF_max( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_rng_type_SETF_max( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_rng_type_GETF_min( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_rng_type_SETF_min( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_rng_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_rng_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_rng_type_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_rng_type_gsl_rng_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_rng_type_Meths[] = 
{
  { dao_gsl_rng_type_GETF_name, ".name( self : gsl_rng_type )=>string" },
  { dao_gsl_rng_type_GETF_max, ".max( self : gsl_rng_type )=>int" },
  { dao_gsl_rng_type_SETF_max, ".max=( self : gsl_rng_type, max : int )" },
  { dao_gsl_rng_type_GETF_min, ".min( self : gsl_rng_type )=>int" },
  { dao_gsl_rng_type_SETF_min, ".min=( self : gsl_rng_type, min : int )" },
  { dao_gsl_rng_type_GETF_size, ".size( self : gsl_rng_type )=>int" },
  { dao_gsl_rng_type_SETF_size, ".size=( self : gsl_rng_type, size : int )" },
  { dao_gsl_rng_type_gsl_rng_type, "gsl_rng_type(  )=>gsl_rng_type" },
  { NULL, NULL }
};
static void Dao_gsl_rng_type_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_rng_type_Typer = 
{ "gsl_rng_type", NULL, 
  dao_gsl_rng_type_Nums,
  dao_gsl_rng_type_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_rng_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_rng_type_Typer = & gsl_rng_type_Typer;
static void dao_gsl_rng_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng_type *self = (gsl_rng_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_rng_type_Typer);
  DaoContext_PutMBString( _ctx, (char*) self->name );
}
static void dao_gsl_rng_type_GETF_max( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng_type *self = (gsl_rng_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_rng_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->max );
}
static void dao_gsl_rng_type_SETF_max( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng_type *self = (gsl_rng_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_rng_type_Typer);
  self->max = (unsigned long int) _p[1]->v.i;
}
static void dao_gsl_rng_type_GETF_min( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng_type *self = (gsl_rng_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_rng_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->min );
}
static void dao_gsl_rng_type_SETF_min( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng_type *self = (gsl_rng_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_rng_type_Typer);
  self->min = (unsigned long int) _p[1]->v.i;
}
static void dao_gsl_rng_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng_type *self = (gsl_rng_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_rng_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_rng_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng_type *self = (gsl_rng_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_rng_type_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_rng_type_gsl_rng_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_rng_type *self = Dao_gsl_rng_type_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_rng_type_Typer );
}

/*  gsl_roots.h */


static void dao_gsl_root_fdfsolver_GETF_type( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fdfsolver_GETF_fdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fdfsolver_GETF_root( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fdfsolver_SETF_root( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fdfsolver_GETF_state( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_root_fdfsolver_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_root_fdfsolver_gsl_root_fdfsolver( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_root_fdfsolver_Meths[] = 
{
  { dao_gsl_root_fdfsolver_GETF_type, ".type( self : gsl_root_fdfsolver )=>gsl_root_fdfsolver_type" },
  { dao_gsl_root_fdfsolver_GETF_fdf, ".fdf( self : gsl_root_fdfsolver )=>gsl_function_fdf" },
  { dao_gsl_root_fdfsolver_GETF_root, ".root( self : gsl_root_fdfsolver )=>double" },
  { dao_gsl_root_fdfsolver_SETF_root, ".root=( self : gsl_root_fdfsolver, root : double )" },
  { dao_gsl_root_fdfsolver_GETF_state, ".state( self : gsl_root_fdfsolver )=>cdata" },
  { dao_gsl_root_fdfsolver_gsl_root_fdfsolver, "gsl_root_fdfsolver(  )=>gsl_root_fdfsolver" },
  { NULL, NULL }
};
static void Dao_gsl_root_fdfsolver_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_root_fdfsolver_Typer = 
{ "gsl_root_fdfsolver", NULL, 
  dao_gsl_root_fdfsolver_Nums,
  dao_gsl_root_fdfsolver_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_root_fdfsolver_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_root_fdfsolver_Typer = & gsl_root_fdfsolver_Typer;
static void dao_gsl_root_fdfsolver_GETF_type( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fdfsolver *self = (gsl_root_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fdfsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->type, dao_gsl_root_fdfsolver_type_Typer );
}
static void dao_gsl_root_fdfsolver_GETF_fdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fdfsolver *self = (gsl_root_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fdfsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->fdf, dao_gsl_function_fdf_Typer );
}
static void dao_gsl_root_fdfsolver_GETF_root( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fdfsolver *self = (gsl_root_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fdfsolver_Typer);
  DaoContext_PutDouble( _ctx, (double) self->root );
}
static void dao_gsl_root_fdfsolver_SETF_root( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fdfsolver *self = (gsl_root_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fdfsolver_Typer);
  self->root = (double) _p[1]->v.d;
}
static void dao_gsl_root_fdfsolver_GETF_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fdfsolver *self = (gsl_root_fdfsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fdfsolver_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->state, 0 );
}
static void dao_gsl_root_fdfsolver_gsl_root_fdfsolver( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_root_fdfsolver *self = Dao_gsl_root_fdfsolver_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_root_fdfsolver_Typer );
}

/*  gsl_roots.h */


static void dao_gsl_root_fdfsolver_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fdfsolver_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fdfsolver_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_root_fdfsolver_type_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_root_fdfsolver_type_gsl_root_fdfsolver_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_root_fdfsolver_type_Meths[] = 
{
  { dao_gsl_root_fdfsolver_type_GETF_name, ".name( self : gsl_root_fdfsolver_type )=>string" },
  { dao_gsl_root_fdfsolver_type_GETF_size, ".size( self : gsl_root_fdfsolver_type )=>int" },
  { dao_gsl_root_fdfsolver_type_SETF_size, ".size=( self : gsl_root_fdfsolver_type, size : int )" },
  { dao_gsl_root_fdfsolver_type_gsl_root_fdfsolver_type, "gsl_root_fdfsolver_type(  )=>gsl_root_fdfsolver_type" },
  { NULL, NULL }
};
static void Dao_gsl_root_fdfsolver_type_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_root_fdfsolver_type_Typer = 
{ "gsl_root_fdfsolver_type", NULL, 
  dao_gsl_root_fdfsolver_type_Nums,
  dao_gsl_root_fdfsolver_type_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_root_fdfsolver_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_root_fdfsolver_type_Typer = & gsl_root_fdfsolver_type_Typer;
static void dao_gsl_root_fdfsolver_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fdfsolver_type *self = (gsl_root_fdfsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fdfsolver_type_Typer);
  DaoContext_PutMBString( _ctx, (char*) self->name );
}
static void dao_gsl_root_fdfsolver_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fdfsolver_type *self = (gsl_root_fdfsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fdfsolver_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_root_fdfsolver_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fdfsolver_type *self = (gsl_root_fdfsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fdfsolver_type_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_root_fdfsolver_type_gsl_root_fdfsolver_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_root_fdfsolver_type *self = Dao_gsl_root_fdfsolver_type_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_root_fdfsolver_type_Typer );
}

/*  gsl_roots.h */


static void dao_gsl_root_fsolver_GETF_type( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fsolver_GETF_function( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fsolver_GETF_root( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fsolver_SETF_root( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fsolver_GETF_x_lower( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fsolver_SETF_x_lower( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fsolver_GETF_x_upper( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fsolver_SETF_x_upper( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fsolver_GETF_state( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_root_fsolver_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_root_fsolver_gsl_root_fsolver( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_root_fsolver_Meths[] = 
{
  { dao_gsl_root_fsolver_GETF_type, ".type( self : gsl_root_fsolver )=>gsl_root_fsolver_type" },
  { dao_gsl_root_fsolver_GETF_function, ".function( self : gsl_root_fsolver )=>gsl_function" },
  { dao_gsl_root_fsolver_GETF_root, ".root( self : gsl_root_fsolver )=>double" },
  { dao_gsl_root_fsolver_SETF_root, ".root=( self : gsl_root_fsolver, root : double )" },
  { dao_gsl_root_fsolver_GETF_x_lower, ".x_lower( self : gsl_root_fsolver )=>double" },
  { dao_gsl_root_fsolver_SETF_x_lower, ".x_lower=( self : gsl_root_fsolver, x_lower : double )" },
  { dao_gsl_root_fsolver_GETF_x_upper, ".x_upper( self : gsl_root_fsolver )=>double" },
  { dao_gsl_root_fsolver_SETF_x_upper, ".x_upper=( self : gsl_root_fsolver, x_upper : double )" },
  { dao_gsl_root_fsolver_GETF_state, ".state( self : gsl_root_fsolver )=>cdata" },
  { dao_gsl_root_fsolver_gsl_root_fsolver, "gsl_root_fsolver(  )=>gsl_root_fsolver" },
  { NULL, NULL }
};
static void Dao_gsl_root_fsolver_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_root_fsolver_Typer = 
{ "gsl_root_fsolver", NULL, 
  dao_gsl_root_fsolver_Nums,
  dao_gsl_root_fsolver_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_root_fsolver_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_root_fsolver_Typer = & gsl_root_fsolver_Typer;
static void dao_gsl_root_fsolver_GETF_type( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver *self = (gsl_root_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->type, dao_gsl_root_fsolver_type_Typer );
}
static void dao_gsl_root_fsolver_GETF_function( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver *self = (gsl_root_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fsolver_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->function, dao_gsl_function_Typer );
}
static void dao_gsl_root_fsolver_GETF_root( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver *self = (gsl_root_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fsolver_Typer);
  DaoContext_PutDouble( _ctx, (double) self->root );
}
static void dao_gsl_root_fsolver_SETF_root( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver *self = (gsl_root_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fsolver_Typer);
  self->root = (double) _p[1]->v.d;
}
static void dao_gsl_root_fsolver_GETF_x_lower( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver *self = (gsl_root_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fsolver_Typer);
  DaoContext_PutDouble( _ctx, (double) self->x_lower );
}
static void dao_gsl_root_fsolver_SETF_x_lower( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver *self = (gsl_root_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fsolver_Typer);
  self->x_lower = (double) _p[1]->v.d;
}
static void dao_gsl_root_fsolver_GETF_x_upper( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver *self = (gsl_root_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fsolver_Typer);
  DaoContext_PutDouble( _ctx, (double) self->x_upper );
}
static void dao_gsl_root_fsolver_SETF_x_upper( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver *self = (gsl_root_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fsolver_Typer);
  self->x_upper = (double) _p[1]->v.d;
}
static void dao_gsl_root_fsolver_GETF_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver *self = (gsl_root_fsolver*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fsolver_Typer);
  DaoContext_PutCPointer( _ctx, (void*) self->state, 0 );
}
static void dao_gsl_root_fsolver_gsl_root_fsolver( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_root_fsolver *self = Dao_gsl_root_fsolver_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_root_fsolver_Typer );
}

/*  gsl_roots.h */


static void dao_gsl_root_fsolver_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fsolver_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_root_fsolver_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_root_fsolver_type_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_root_fsolver_type_gsl_root_fsolver_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_root_fsolver_type_Meths[] = 
{
  { dao_gsl_root_fsolver_type_GETF_name, ".name( self : gsl_root_fsolver_type )=>string" },
  { dao_gsl_root_fsolver_type_GETF_size, ".size( self : gsl_root_fsolver_type )=>int" },
  { dao_gsl_root_fsolver_type_SETF_size, ".size=( self : gsl_root_fsolver_type, size : int )" },
  { dao_gsl_root_fsolver_type_gsl_root_fsolver_type, "gsl_root_fsolver_type(  )=>gsl_root_fsolver_type" },
  { NULL, NULL }
};
static void Dao_gsl_root_fsolver_type_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_root_fsolver_type_Typer = 
{ "gsl_root_fsolver_type", NULL, 
  dao_gsl_root_fsolver_type_Nums,
  dao_gsl_root_fsolver_type_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_root_fsolver_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_root_fsolver_type_Typer = & gsl_root_fsolver_type_Typer;
static void dao_gsl_root_fsolver_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver_type *self = (gsl_root_fsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fsolver_type_Typer);
  DaoContext_PutMBString( _ctx, (char*) self->name );
}
static void dao_gsl_root_fsolver_type_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver_type *self = (gsl_root_fsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fsolver_type_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_root_fsolver_type_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver_type *self = (gsl_root_fsolver_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_root_fsolver_type_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_root_fsolver_type_gsl_root_fsolver_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_root_fsolver_type *self = Dao_gsl_root_fsolver_type_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_root_fsolver_type_Typer );
}

/*  gsl_siman.h */


static DaoNumItem dao_gsl_siman_copy_construct_t_Nums[] =
{
  { NULL, 0, 0 }
};

static DaoFuncItem dao_gsl_siman_copy_construct_t_Meths[] = 
{
  { NULL, NULL }
};
static void Dao_gsl_siman_copy_construct_t_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_siman_copy_construct_t_Typer = 
{ "gsl_siman_copy_construct_t", NULL, 
  dao_gsl_siman_copy_construct_t_Nums,
  dao_gsl_siman_copy_construct_t_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_siman_copy_construct_t_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_siman_copy_construct_t_Typer = & gsl_siman_copy_construct_t_Typer;

/*  gsl_siman.h */


static void dao_gsl_siman_params_t_GETF_n_tries( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_siman_params_t_SETF_n_tries( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_siman_params_t_GETF_iters_fixed_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_siman_params_t_SETF_iters_fixed_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_siman_params_t_GETF_step_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_siman_params_t_SETF_step_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_siman_params_t_GETF_k( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_siman_params_t_SETF_k( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_siman_params_t_GETF_t_initial( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_siman_params_t_SETF_t_initial( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_siman_params_t_GETF_mu_t( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_siman_params_t_SETF_mu_t( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_siman_params_t_GETF_t_min( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_siman_params_t_SETF_t_min( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_siman_params_t_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_siman_params_t_gsl_siman_params_t( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_siman_params_t_Meths[] = 
{
  { dao_gsl_siman_params_t_GETF_n_tries, ".n_tries( self : gsl_siman_params_t )=>int" },
  { dao_gsl_siman_params_t_SETF_n_tries, ".n_tries=( self : gsl_siman_params_t, n_tries : int )" },
  { dao_gsl_siman_params_t_GETF_iters_fixed_T, ".iters_fixed_T( self : gsl_siman_params_t )=>int" },
  { dao_gsl_siman_params_t_SETF_iters_fixed_T, ".iters_fixed_T=( self : gsl_siman_params_t, iters_fixed_T : int )" },
  { dao_gsl_siman_params_t_GETF_step_size, ".step_size( self : gsl_siman_params_t )=>double" },
  { dao_gsl_siman_params_t_SETF_step_size, ".step_size=( self : gsl_siman_params_t, step_size : double )" },
  { dao_gsl_siman_params_t_GETF_k, ".k( self : gsl_siman_params_t )=>double" },
  { dao_gsl_siman_params_t_SETF_k, ".k=( self : gsl_siman_params_t, k : double )" },
  { dao_gsl_siman_params_t_GETF_t_initial, ".t_initial( self : gsl_siman_params_t )=>double" },
  { dao_gsl_siman_params_t_SETF_t_initial, ".t_initial=( self : gsl_siman_params_t, t_initial : double )" },
  { dao_gsl_siman_params_t_GETF_mu_t, ".mu_t( self : gsl_siman_params_t )=>double" },
  { dao_gsl_siman_params_t_SETF_mu_t, ".mu_t=( self : gsl_siman_params_t, mu_t : double )" },
  { dao_gsl_siman_params_t_GETF_t_min, ".t_min( self : gsl_siman_params_t )=>double" },
  { dao_gsl_siman_params_t_SETF_t_min, ".t_min=( self : gsl_siman_params_t, t_min : double )" },
  { dao_gsl_siman_params_t_gsl_siman_params_t, "gsl_siman_params_t(  )=>gsl_siman_params_t" },
  { NULL, NULL }
};
static void Dao_gsl_siman_params_t_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_siman_params_t_Typer = 
{ "gsl_siman_params_t", NULL, 
  dao_gsl_siman_params_t_Nums,
  dao_gsl_siman_params_t_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_siman_params_t_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_siman_params_t_Typer = & gsl_siman_params_t_Typer;
static void dao_gsl_siman_params_t_GETF_n_tries( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_siman_params_t *self = (gsl_siman_params_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_siman_params_t_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n_tries );
}
static void dao_gsl_siman_params_t_SETF_n_tries( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_siman_params_t *self = (gsl_siman_params_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_siman_params_t_Typer);
  self->n_tries = (int) _p[1]->v.i;
}
static void dao_gsl_siman_params_t_GETF_iters_fixed_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_siman_params_t *self = (gsl_siman_params_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_siman_params_t_Typer);
  DaoContext_PutInteger( _ctx, (int) self->iters_fixed_T );
}
static void dao_gsl_siman_params_t_SETF_iters_fixed_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_siman_params_t *self = (gsl_siman_params_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_siman_params_t_Typer);
  self->iters_fixed_T = (int) _p[1]->v.i;
}
static void dao_gsl_siman_params_t_GETF_step_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_siman_params_t *self = (gsl_siman_params_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_siman_params_t_Typer);
  DaoContext_PutDouble( _ctx, (double) self->step_size );
}
static void dao_gsl_siman_params_t_SETF_step_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_siman_params_t *self = (gsl_siman_params_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_siman_params_t_Typer);
  self->step_size = (double) _p[1]->v.d;
}
static void dao_gsl_siman_params_t_GETF_k( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_siman_params_t *self = (gsl_siman_params_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_siman_params_t_Typer);
  DaoContext_PutDouble( _ctx, (double) self->k );
}
static void dao_gsl_siman_params_t_SETF_k( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_siman_params_t *self = (gsl_siman_params_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_siman_params_t_Typer);
  self->k = (double) _p[1]->v.d;
}
static void dao_gsl_siman_params_t_GETF_t_initial( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_siman_params_t *self = (gsl_siman_params_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_siman_params_t_Typer);
  DaoContext_PutDouble( _ctx, (double) self->t_initial );
}
static void dao_gsl_siman_params_t_SETF_t_initial( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_siman_params_t *self = (gsl_siman_params_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_siman_params_t_Typer);
  self->t_initial = (double) _p[1]->v.d;
}
static void dao_gsl_siman_params_t_GETF_mu_t( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_siman_params_t *self = (gsl_siman_params_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_siman_params_t_Typer);
  DaoContext_PutDouble( _ctx, (double) self->mu_t );
}
static void dao_gsl_siman_params_t_SETF_mu_t( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_siman_params_t *self = (gsl_siman_params_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_siman_params_t_Typer);
  self->mu_t = (double) _p[1]->v.d;
}
static void dao_gsl_siman_params_t_GETF_t_min( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_siman_params_t *self = (gsl_siman_params_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_siman_params_t_Typer);
  DaoContext_PutDouble( _ctx, (double) self->t_min );
}
static void dao_gsl_siman_params_t_SETF_t_min( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_siman_params_t *self = (gsl_siman_params_t*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_siman_params_t_Typer);
  self->t_min = (double) _p[1]->v.d;
}
static void dao_gsl_siman_params_t_gsl_siman_params_t( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_siman_params_t *self = Dao_gsl_siman_params_t_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_siman_params_t_Typer );
}

/*  gsl_spline.h */


static void dao_gsl_spline_GETF_interp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_spline_GETF_x( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_spline_GETF_y( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_spline_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_spline_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_spline_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_spline_gsl_spline( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_spline_Meths[] = 
{
  { dao_gsl_spline_GETF_interp, ".interp( self : gsl_spline )=>gsl_interp" },
  { dao_gsl_spline_GETF_x, ".x( self : gsl_spline )=>double" },
  { dao_gsl_spline_GETF_y, ".y( self : gsl_spline )=>double" },
  { dao_gsl_spline_GETF_size, ".size( self : gsl_spline )=>int" },
  { dao_gsl_spline_SETF_size, ".size=( self : gsl_spline, size : int )" },
  { dao_gsl_spline_gsl_spline, "gsl_spline(  )=>gsl_spline" },
  { NULL, NULL }
};
static void Dao_gsl_spline_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_spline_Typer = 
{ "gsl_spline", NULL, 
  dao_gsl_spline_Nums,
  dao_gsl_spline_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_spline_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_spline_Typer = & gsl_spline_Typer;
static void dao_gsl_spline_GETF_interp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline *self = (gsl_spline*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_spline_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->interp, dao_gsl_interp_Typer );
}
static void dao_gsl_spline_GETF_x( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline *self = (gsl_spline*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_spline_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->x, 0 );
}
static void dao_gsl_spline_GETF_y( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline *self = (gsl_spline*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_spline_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->y, 0 );
}
static void dao_gsl_spline_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline *self = (gsl_spline*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_spline_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_spline_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline *self = (gsl_spline*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_spline_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_spline_gsl_spline( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_spline *self = Dao_gsl_spline_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_spline_Typer );
}

/*  gsl_sum.h */


static void dao_gsl_sum_levin_u_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_u_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_u_workspace_GETF_i( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_u_workspace_SETF_i( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_u_workspace_GETF_terms_used( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_u_workspace_SETF_terms_used( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_u_workspace_GETF_sum_plain( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_u_workspace_SETF_sum_plain( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_u_workspace_GETF_q_num( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_u_workspace_GETF_q_den( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_u_workspace_GETF_dq_num( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_u_workspace_GETF_dq_den( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_u_workspace_GETF_dsum( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_sum_levin_u_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_sum_levin_u_workspace_gsl_sum_levin_u_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_sum_levin_u_workspace_Meths[] = 
{
  { dao_gsl_sum_levin_u_workspace_GETF_size, ".size( self : gsl_sum_levin_u_workspace )=>int" },
  { dao_gsl_sum_levin_u_workspace_SETF_size, ".size=( self : gsl_sum_levin_u_workspace, size : int )" },
  { dao_gsl_sum_levin_u_workspace_GETF_i, ".i( self : gsl_sum_levin_u_workspace )=>int" },
  { dao_gsl_sum_levin_u_workspace_SETF_i, ".i=( self : gsl_sum_levin_u_workspace, i : int )" },
  { dao_gsl_sum_levin_u_workspace_GETF_terms_used, ".terms_used( self : gsl_sum_levin_u_workspace )=>int" },
  { dao_gsl_sum_levin_u_workspace_SETF_terms_used, ".terms_used=( self : gsl_sum_levin_u_workspace, terms_used : int )" },
  { dao_gsl_sum_levin_u_workspace_GETF_sum_plain, ".sum_plain( self : gsl_sum_levin_u_workspace )=>double" },
  { dao_gsl_sum_levin_u_workspace_SETF_sum_plain, ".sum_plain=( self : gsl_sum_levin_u_workspace, sum_plain : double )" },
  { dao_gsl_sum_levin_u_workspace_GETF_q_num, ".q_num( self : gsl_sum_levin_u_workspace )=>double" },
  { dao_gsl_sum_levin_u_workspace_GETF_q_den, ".q_den( self : gsl_sum_levin_u_workspace )=>double" },
  { dao_gsl_sum_levin_u_workspace_GETF_dq_num, ".dq_num( self : gsl_sum_levin_u_workspace )=>double" },
  { dao_gsl_sum_levin_u_workspace_GETF_dq_den, ".dq_den( self : gsl_sum_levin_u_workspace )=>double" },
  { dao_gsl_sum_levin_u_workspace_GETF_dsum, ".dsum( self : gsl_sum_levin_u_workspace )=>double" },
  { dao_gsl_sum_levin_u_workspace_gsl_sum_levin_u_workspace, "gsl_sum_levin_u_workspace(  )=>gsl_sum_levin_u_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_sum_levin_u_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_sum_levin_u_workspace_Typer = 
{ "gsl_sum_levin_u_workspace", NULL, 
  dao_gsl_sum_levin_u_workspace_Nums,
  dao_gsl_sum_levin_u_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_sum_levin_u_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_sum_levin_u_workspace_Typer = & gsl_sum_levin_u_workspace_Typer;
static void dao_gsl_sum_levin_u_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_u_workspace *self = (gsl_sum_levin_u_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_u_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_sum_levin_u_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_u_workspace *self = (gsl_sum_levin_u_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_u_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_sum_levin_u_workspace_GETF_i( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_u_workspace *self = (gsl_sum_levin_u_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_u_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->i );
}
static void dao_gsl_sum_levin_u_workspace_SETF_i( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_u_workspace *self = (gsl_sum_levin_u_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_u_workspace_Typer);
  self->i = (size_t) _p[1]->v.i;
}
static void dao_gsl_sum_levin_u_workspace_GETF_terms_used( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_u_workspace *self = (gsl_sum_levin_u_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_u_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->terms_used );
}
static void dao_gsl_sum_levin_u_workspace_SETF_terms_used( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_u_workspace *self = (gsl_sum_levin_u_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_u_workspace_Typer);
  self->terms_used = (size_t) _p[1]->v.i;
}
static void dao_gsl_sum_levin_u_workspace_GETF_sum_plain( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_u_workspace *self = (gsl_sum_levin_u_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_u_workspace_Typer);
  DaoContext_PutDouble( _ctx, (double) self->sum_plain );
}
static void dao_gsl_sum_levin_u_workspace_SETF_sum_plain( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_u_workspace *self = (gsl_sum_levin_u_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_u_workspace_Typer);
  self->sum_plain = (double) _p[1]->v.d;
}
static void dao_gsl_sum_levin_u_workspace_GETF_q_num( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_u_workspace *self = (gsl_sum_levin_u_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_u_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->q_num, 0 );
}
static void dao_gsl_sum_levin_u_workspace_GETF_q_den( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_u_workspace *self = (gsl_sum_levin_u_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_u_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->q_den, 0 );
}
static void dao_gsl_sum_levin_u_workspace_GETF_dq_num( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_u_workspace *self = (gsl_sum_levin_u_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_u_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->dq_num, 0 );
}
static void dao_gsl_sum_levin_u_workspace_GETF_dq_den( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_u_workspace *self = (gsl_sum_levin_u_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_u_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->dq_den, 0 );
}
static void dao_gsl_sum_levin_u_workspace_GETF_dsum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_u_workspace *self = (gsl_sum_levin_u_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_u_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->dsum, 0 );
}
static void dao_gsl_sum_levin_u_workspace_gsl_sum_levin_u_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_sum_levin_u_workspace *self = Dao_gsl_sum_levin_u_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_sum_levin_u_workspace_Typer );
}

/*  gsl_sum.h */


static void dao_gsl_sum_levin_utrunc_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_utrunc_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_utrunc_workspace_GETF_i( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_utrunc_workspace_SETF_i( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_utrunc_workspace_GETF_terms_used( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_utrunc_workspace_SETF_terms_used( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_utrunc_workspace_GETF_sum_plain( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_utrunc_workspace_SETF_sum_plain( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_utrunc_workspace_GETF_q_num( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_utrunc_workspace_GETF_q_den( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_sum_levin_utrunc_workspace_GETF_dsum( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_sum_levin_utrunc_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_sum_levin_utrunc_workspace_gsl_sum_levin_utrunc_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_sum_levin_utrunc_workspace_Meths[] = 
{
  { dao_gsl_sum_levin_utrunc_workspace_GETF_size, ".size( self : gsl_sum_levin_utrunc_workspace )=>int" },
  { dao_gsl_sum_levin_utrunc_workspace_SETF_size, ".size=( self : gsl_sum_levin_utrunc_workspace, size : int )" },
  { dao_gsl_sum_levin_utrunc_workspace_GETF_i, ".i( self : gsl_sum_levin_utrunc_workspace )=>int" },
  { dao_gsl_sum_levin_utrunc_workspace_SETF_i, ".i=( self : gsl_sum_levin_utrunc_workspace, i : int )" },
  { dao_gsl_sum_levin_utrunc_workspace_GETF_terms_used, ".terms_used( self : gsl_sum_levin_utrunc_workspace )=>int" },
  { dao_gsl_sum_levin_utrunc_workspace_SETF_terms_used, ".terms_used=( self : gsl_sum_levin_utrunc_workspace, terms_used : int )" },
  { dao_gsl_sum_levin_utrunc_workspace_GETF_sum_plain, ".sum_plain( self : gsl_sum_levin_utrunc_workspace )=>double" },
  { dao_gsl_sum_levin_utrunc_workspace_SETF_sum_plain, ".sum_plain=( self : gsl_sum_levin_utrunc_workspace, sum_plain : double )" },
  { dao_gsl_sum_levin_utrunc_workspace_GETF_q_num, ".q_num( self : gsl_sum_levin_utrunc_workspace )=>double" },
  { dao_gsl_sum_levin_utrunc_workspace_GETF_q_den, ".q_den( self : gsl_sum_levin_utrunc_workspace )=>double" },
  { dao_gsl_sum_levin_utrunc_workspace_GETF_dsum, ".dsum( self : gsl_sum_levin_utrunc_workspace )=>double" },
  { dao_gsl_sum_levin_utrunc_workspace_gsl_sum_levin_utrunc_workspace, "gsl_sum_levin_utrunc_workspace(  )=>gsl_sum_levin_utrunc_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_sum_levin_utrunc_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_sum_levin_utrunc_workspace_Typer = 
{ "gsl_sum_levin_utrunc_workspace", NULL, 
  dao_gsl_sum_levin_utrunc_workspace_Nums,
  dao_gsl_sum_levin_utrunc_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_sum_levin_utrunc_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_sum_levin_utrunc_workspace_Typer = & gsl_sum_levin_utrunc_workspace_Typer;
static void dao_gsl_sum_levin_utrunc_workspace_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_utrunc_workspace *self = (gsl_sum_levin_utrunc_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_utrunc_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_sum_levin_utrunc_workspace_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_utrunc_workspace *self = (gsl_sum_levin_utrunc_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_utrunc_workspace_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_sum_levin_utrunc_workspace_GETF_i( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_utrunc_workspace *self = (gsl_sum_levin_utrunc_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_utrunc_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->i );
}
static void dao_gsl_sum_levin_utrunc_workspace_SETF_i( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_utrunc_workspace *self = (gsl_sum_levin_utrunc_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_utrunc_workspace_Typer);
  self->i = (size_t) _p[1]->v.i;
}
static void dao_gsl_sum_levin_utrunc_workspace_GETF_terms_used( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_utrunc_workspace *self = (gsl_sum_levin_utrunc_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_utrunc_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->terms_used );
}
static void dao_gsl_sum_levin_utrunc_workspace_SETF_terms_used( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_utrunc_workspace *self = (gsl_sum_levin_utrunc_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_utrunc_workspace_Typer);
  self->terms_used = (size_t) _p[1]->v.i;
}
static void dao_gsl_sum_levin_utrunc_workspace_GETF_sum_plain( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_utrunc_workspace *self = (gsl_sum_levin_utrunc_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_utrunc_workspace_Typer);
  DaoContext_PutDouble( _ctx, (double) self->sum_plain );
}
static void dao_gsl_sum_levin_utrunc_workspace_SETF_sum_plain( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_utrunc_workspace *self = (gsl_sum_levin_utrunc_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_utrunc_workspace_Typer);
  self->sum_plain = (double) _p[1]->v.d;
}
static void dao_gsl_sum_levin_utrunc_workspace_GETF_q_num( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_utrunc_workspace *self = (gsl_sum_levin_utrunc_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_utrunc_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->q_num, 0 );
}
static void dao_gsl_sum_levin_utrunc_workspace_GETF_q_den( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_utrunc_workspace *self = (gsl_sum_levin_utrunc_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_utrunc_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->q_den, 0 );
}
static void dao_gsl_sum_levin_utrunc_workspace_GETF_dsum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_utrunc_workspace *self = (gsl_sum_levin_utrunc_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_sum_levin_utrunc_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->dsum, 0 );
}
static void dao_gsl_sum_levin_utrunc_workspace_gsl_sum_levin_utrunc_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_sum_levin_utrunc_workspace *self = Dao_gsl_sum_levin_utrunc_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_sum_levin_utrunc_workspace_Typer );
}

/*  gsl_wavelet.h */


static void dao_gsl_wavelet_GETF_type( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_wavelet_GETF_h1( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_wavelet_GETI_h1( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_wavelet_GETF_g1( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_wavelet_GETI_g1( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_wavelet_GETF_h2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_wavelet_GETI_h2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_wavelet_GETF_g2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_wavelet_GETI_g2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_wavelet_GETF_nc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_wavelet_SETF_nc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_wavelet_GETF_offset( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_wavelet_SETF_offset( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_wavelet_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_wavelet_gsl_wavelet( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_wavelet_Meths[] = 
{
  { dao_gsl_wavelet_GETF_type, ".type( self : gsl_wavelet )=>gsl_wavelet_type" },
  { dao_gsl_wavelet_GETF_h1, ".h1( self : gsl_wavelet )=>array<double>" },
  { dao_gsl_wavelet_GETI_h1, "[]( self : gsl_wavelet, i : int )=>double" },
  { dao_gsl_wavelet_GETF_g1, ".g1( self : gsl_wavelet )=>array<double>" },
  { dao_gsl_wavelet_GETI_g1, "[]( self : gsl_wavelet, i : int )=>double" },
  { dao_gsl_wavelet_GETF_h2, ".h2( self : gsl_wavelet )=>array<double>" },
  { dao_gsl_wavelet_GETI_h2, "[]( self : gsl_wavelet, i : int )=>double" },
  { dao_gsl_wavelet_GETF_g2, ".g2( self : gsl_wavelet )=>array<double>" },
  { dao_gsl_wavelet_GETI_g2, "[]( self : gsl_wavelet, i : int )=>double" },
  { dao_gsl_wavelet_GETF_nc, ".nc( self : gsl_wavelet )=>int" },
  { dao_gsl_wavelet_SETF_nc, ".nc=( self : gsl_wavelet, nc : int )" },
  { dao_gsl_wavelet_GETF_offset, ".offset( self : gsl_wavelet )=>int" },
  { dao_gsl_wavelet_SETF_offset, ".offset=( self : gsl_wavelet, offset : int )" },
  { dao_gsl_wavelet_gsl_wavelet, "gsl_wavelet(  )=>gsl_wavelet" },
  { NULL, NULL }
};
static void Dao_gsl_wavelet_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_wavelet_Typer = 
{ "gsl_wavelet", NULL, 
  dao_gsl_wavelet_Nums,
  dao_gsl_wavelet_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_wavelet_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_wavelet_Typer = & gsl_wavelet_Typer;
static void dao_gsl_wavelet_GETF_type( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet *self = (gsl_wavelet*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_Typer);
  DaoContext_WrapCData( _ctx, (void*) self->type, dao_gsl_wavelet_type_Typer );
}
static void dao_gsl_wavelet_GETF_h1( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet *self = (gsl_wavelet*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->h1, 0 );
}
static void dao_gsl_wavelet_GETI_h1( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet *self = (gsl_wavelet*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_Typer);
  DaoContext_PutDouble( _ctx, (double) self->h1[_p[1]->v.i] );
}
static void dao_gsl_wavelet_GETF_g1( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet *self = (gsl_wavelet*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->g1, 0 );
}
static void dao_gsl_wavelet_GETI_g1( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet *self = (gsl_wavelet*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_Typer);
  DaoContext_PutDouble( _ctx, (double) self->g1[_p[1]->v.i] );
}
static void dao_gsl_wavelet_GETF_h2( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet *self = (gsl_wavelet*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->h2, 0 );
}
static void dao_gsl_wavelet_GETI_h2( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet *self = (gsl_wavelet*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_Typer);
  DaoContext_PutDouble( _ctx, (double) self->h2[_p[1]->v.i] );
}
static void dao_gsl_wavelet_GETF_g2( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet *self = (gsl_wavelet*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->g2, 0 );
}
static void dao_gsl_wavelet_GETI_g2( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet *self = (gsl_wavelet*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_Typer);
  DaoContext_PutDouble( _ctx, (double) self->g2[_p[1]->v.i] );
}
static void dao_gsl_wavelet_GETF_nc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet *self = (gsl_wavelet*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_Typer);
  DaoContext_PutInteger( _ctx, (int) self->nc );
}
static void dao_gsl_wavelet_SETF_nc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet *self = (gsl_wavelet*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_Typer);
  self->nc = (size_t) _p[1]->v.i;
}
static void dao_gsl_wavelet_GETF_offset( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet *self = (gsl_wavelet*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_Typer);
  DaoContext_PutInteger( _ctx, (int) self->offset );
}
static void dao_gsl_wavelet_SETF_offset( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet *self = (gsl_wavelet*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_Typer);
  self->offset = (size_t) _p[1]->v.i;
}
static void dao_gsl_wavelet_gsl_wavelet( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_wavelet *self = Dao_gsl_wavelet_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_wavelet_Typer );
}

/*  gsl_wavelet.h */


static void dao_gsl_wavelet_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_wavelet_type_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_wavelet_type_gsl_wavelet_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_wavelet_type_Meths[] = 
{
  { dao_gsl_wavelet_type_GETF_name, ".name( self : gsl_wavelet_type )=>string" },
  { dao_gsl_wavelet_type_gsl_wavelet_type, "gsl_wavelet_type(  )=>gsl_wavelet_type" },
  { NULL, NULL }
};
static void Dao_gsl_wavelet_type_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_wavelet_type_Typer = 
{ "gsl_wavelet_type", NULL, 
  dao_gsl_wavelet_type_Nums,
  dao_gsl_wavelet_type_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_wavelet_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_wavelet_type_Typer = & gsl_wavelet_type_Typer;
static void dao_gsl_wavelet_type_GETF_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet_type *self = (gsl_wavelet_type*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_type_Typer);
  DaoContext_PutMBString( _ctx, (char*) self->name );
}
static void dao_gsl_wavelet_type_gsl_wavelet_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_wavelet_type *self = Dao_gsl_wavelet_type_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_wavelet_type_Typer );
}

/*  gsl_wavelet.h */


static void dao_gsl_wavelet_workspace_GETF_scratch( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_wavelet_workspace_GETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_wavelet_workspace_SETF_n( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_wavelet_workspace_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_wavelet_workspace_gsl_wavelet_workspace( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_wavelet_workspace_Meths[] = 
{
  { dao_gsl_wavelet_workspace_GETF_scratch, ".scratch( self : gsl_wavelet_workspace )=>double" },
  { dao_gsl_wavelet_workspace_GETF_n, ".n( self : gsl_wavelet_workspace )=>int" },
  { dao_gsl_wavelet_workspace_SETF_n, ".n=( self : gsl_wavelet_workspace, n : int )" },
  { dao_gsl_wavelet_workspace_gsl_wavelet_workspace, "gsl_wavelet_workspace(  )=>gsl_wavelet_workspace" },
  { NULL, NULL }
};
static void Dao_gsl_wavelet_workspace_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_wavelet_workspace_Typer = 
{ "gsl_wavelet_workspace", NULL, 
  dao_gsl_wavelet_workspace_Nums,
  dao_gsl_wavelet_workspace_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_wavelet_workspace_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_OTHERS *dao_gsl_wavelet_workspace_Typer = & gsl_wavelet_workspace_Typer;
static void dao_gsl_wavelet_workspace_GETF_scratch( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet_workspace *self = (gsl_wavelet_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_workspace_Typer);
  DaoContext_PutArrayDouble( _ctx, (double*) self->scratch, 0 );
}
static void dao_gsl_wavelet_workspace_GETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet_workspace *self = (gsl_wavelet_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_workspace_Typer);
  DaoContext_PutInteger( _ctx, (int) self->n );
}
static void dao_gsl_wavelet_workspace_SETF_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet_workspace *self = (gsl_wavelet_workspace*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_wavelet_workspace_Typer);
  self->n = (size_t) _p[1]->v.i;
}
static void dao_gsl_wavelet_workspace_gsl_wavelet_workspace( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_wavelet_workspace *self = Dao_gsl_wavelet_workspace_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_wavelet_workspace_Typer );
}

#ifdef __cplusplus
}
#endif

DaoTypeBase *dao_gsl_cheb_series_struct_Typer = & gsl_cheb_series_Typer;
DaoTypeBase *dao_gsl_dht_struct_Typer = & gsl_dht_Typer;
DaoTypeBase *dao_gsl_function_fdf_struct_Typer = & gsl_function_fdf_Typer;
DaoTypeBase *dao_gsl_function_struct_Typer = & gsl_function_Typer;
DaoTypeBase *dao_gsl_function_vec_struct_Typer = & gsl_function_vec_Typer;
DaoTypeBase *dao_gsl_monte_function_struct_Typer = & gsl_monte_function_Typer;
DaoTypeBase *dao_gsl_multifit_function_fdf_struct_Typer = & gsl_multifit_function_fdf_Typer;
DaoTypeBase *dao_gsl_multifit_function_struct_Typer = & gsl_multifit_function_Typer;
DaoTypeBase *dao_gsl_multimin_function_fdf_struct_Typer = & gsl_multimin_function_fdf_Typer;
DaoTypeBase *dao_gsl_multimin_function_struct_Typer = & gsl_multimin_function_Typer;
DaoTypeBase *dao_gsl_multiroot_function_fdf_struct_Typer = & gsl_multiroot_function_fdf_Typer;
DaoTypeBase *dao_gsl_multiroot_function_struct_Typer = & gsl_multiroot_function_Typer;
DaoTypeBase *dao_gsl_siman_copy_construct_t_x_Typer = & gsl_siman_copy_construct_t_Typer;
